Optimization of inputs

  1. Add input tensor to the optimizer:
input.requires_grad = True
optimizer = optim.Adam([input], learning_rate)

Note that Variables don’t exist anymore in the newest versions on PyTorch.

In case, if you want to add input tensor along with model parameters to optimizer:

params_to_train = [input]
params_to_train += list(model.parameters())
optimizer = optim.Adam(params_to_train, learning_rate)
  1. Yes, adding the input to the optimizer will make input trainable. Make sure that grad of input tensor is turned on.

This may help you: