def train(loss, model, opt, original): with tf.GradientTape() as tape: gradients = tape.gradient(loss(model, original), model.trainable_variables) gradient_variables = zip(gradients, model.trainable_variables) opt.apply_gradients(gradient_variables)