It works now. Thanks to @klapeyron. I updated tf.Variable values with values from input_tensor:
optimizer = tf.keras.optimizers.Adam(learning_rate=0.01)
initial_input = [tf.convert_to_tensor(latents), tf.convert_to_tensor(labels)]
input_tensor = tf.Variable([initial_input[0]])
for step in range(100):
with tf.GradientTape() as tape:
tape.watch(initial_input[0])
initial_input[0] = input_tensor[0,:,:]
generated_image = generator(initial_input)initial_input[1]])
loss_value = mse_loss(generated_image, target_image)
plt.imshow(postprocess_images(generated_image).numpy()[0])
plt.show()
gradients = tape.gradient(loss_value, [initial_input[0]])
optimizer.apply_gradients(zip([gradients], [input_tensor]))
CLICK HERE to find out more related problems solutions.