3
我需要獲取隨時間推移的損失歷史記錄,並將其繪製在圖表中。 這裏是我的代碼框架:如何使用tf.contrib.opt.ScipyOptimizerInterface獲取損失函數歷史記錄
optimizer = tf.contrib.opt.ScipyOptimizerInterface(loss, method='L-BFGS-B',
options={'maxiter': args.max_iterations, 'disp': print_iterations})
optimizer.minimize(sess, loss_callback=append_loss_history)
隨着append_loss_history
定義:
def append_loss_history(**kwargs):
global step
if step % 50 == 0:
loss_history.append(loss.eval())
step += 1
當我看到的ScipyOptimizerInterface
的詳細輸出,損失實際上是隨着時間的推移減少。 但是,當我打印loss_history
,隨着時間的推移損失幾乎相同。
請參閱文檔: 「優化後的變量將在原地更新」 https://www.tensorflow.org/api_docs/python/tf/contrib/opt/ScipyOptimizerInterface。這是損失不變的原因嗎?