Hi,
Community, I got a problem.
Suppose the customized loss function has parameter x,  e.g.,
Loss = f(outputs, targets, x)
Now I use torch.autograd.grad to compute the gradient w.r.t. to model parameters (not x)
The problem is that I cannot manually update the model parameters such that x is contained in the graph and still backpropagable.
For example
If I do param = param - lr * grad OR  tmp = param - lr*grad; setattr(model, name, tmp), the error is cannot assign 'torch.cuda.FloatTensor' as parameter
If I convert Tensor to nn.Parameter OR using param.data = ..., then x is not in graph.
(and backward() + step() is the same as updating param.data)