GradientDescentOptimizer, требующий функцию потерь без аргументов в активном режиме - PullRequest
0 голосов
/ 25 апреля 2019

API для tf.train.Optimizer говорит: «Когда включено активное выполнение, потеря должна быть функцией Python, которая не принимает аргументов и вычисляет значение, которое будет минимизировано.»

Я запутался, как функция потерь может вычислить убыток без указания прогноза и меток?

Я пытался tf.losses.mean_squared_error , но это, как и ожидалось, не работает, поскольку требует аргументов.

opt = tf.train.GradientDescentOptimizer(learning_rate=.1)

opt_op = opt.minimize(tf.losses.mean_squared_error, var_list=[model.W, model.b])
# TypeError: mean_squared_error() missing 2 required positional arguments: 'labels' and 'predictions'

1 Ответ

0 голосов
/ 25 апреля 2019

tf.losses.mean_squared_error требуется два позиционных аргумента.

Учитывая pred прогноз и label ожидаемый результат.

pred  # computed
label # computed
def custom_loss() :
  return tf.losses.mean_squared_error(pred, label)

opt.minimize(custom_loss, var_list=[model.W, model.b])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...