Различное поведение между train_on_batch и градиентом ленты - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь обучить простую модель кераса некоторым данным, используя

подход 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 делает некоторые дополнительные вещи)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...