indexing operation like c[:, :2] = Variable(c[:, :2].data)  doesn’t help you, it is still preserving history.
What you need to do is create all zeros and then set the particular part:
c_new = torch.zeros_like(c)
c_new.data[:, :2] = c.data[:, :2]
c = c_new