I have a torch.autograd.variable.Variable named “unw” of shape 6x64x300 and another torch.autograd.variable.Variable named “powers” of shape 6. I need to compute the power of each of the 6 matrices in “unw” with each of the 6 values in “powers”. So I wrote down the below code:
for j in range(unw.shape[0]):
unw[j,:,:] = torch.pow(unw[j,:,:],powers[j])
After computing the new “unw” I compute
s = torch.prod(unw,dim=0)
to get a 64x300 valued tensor.
Later when computing torch.autograd.grad(loss, self.model.parameters()), I get an error as below
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation
This is caused to due the change of “unw”. How can I resolve this?