Я хочу записать скорость обучения оптимизатора Адама с оценкой тензорного потока следующим образом:
def def model_fn(features, labels, mode):
...
optimizer = tf.train.AdamOptimizer(learning_rate=0.1)
log_hook = tf.train.LoggingTensorHook({"lr" : optimizer._lr_t}, every_n_iter=10)
return tf.estimator.EstimatorSpec(mode, loss=loss, train_op=train_op, training_hooks=[log_hook])
...
Мы знаем, что скорость обучения tf.train.AdamOptimizer снижается сама собой.Но мой результат всегда равен 1,0:
INFO:tensorflow:lr = 0.1 (4.537 sec)
INFO:tensorflow:global_step/sec: 2.18827
INFO:tensorflow:loss = 8.285036e-07, step = 16180 (4.570 sec)
INFO:tensorflow:lr = 0.1 (4.570 sec)
INFO:tensorflow:global_step/sec: 2.21156
INFO:tensorflow:loss = 8.225431e-07, step = 16190 (4.521 sec)
INFO:tensorflow:lr = 0.1 (4.521 sec)
Правильно ли я выбрал скорость обучения журналу AdamOptimizer?
Обновление: Я регистрирую оптимизатор._lr ссылался на этот ответ , но получил эту ошибку:
ValueError: Passed 0.1 should have graph attribute that is equal to current graph <tensorflow.python.framework.ops.Graph object at 0x7f96a290a350>.