Я пытаюсь обучить простую модель кераса некоторым данным, используя
подход 1
model.train_on_batch(x, y)
и подход 2
with tf.GradientTape() as g:
g.watch(model.variables)
loss = my_loss(
y_true=y,
y_pred=model(x)
)
gradients = g.gradient(loss, model.variables)
opt.apply_gradients(
zip(gradients, model.variables)
)
Даже если оптимизатор (Адам с некоторой фиксированной скоростью обучения) и потери одинаковы, я не получаю точно такое же поведение. Ожидается ли? (он же train_on_batch
делает некоторые дополнительные вещи)