簡體   English   中英

訓練時如何從Tensorflow重置AdamOptimizer

[英]How to reset the AdamOptimizer from Tensorflow while training

我們目前正在研究一個項目,該項目中我們將在Tensorflow上更改cGAN架構,以查看是否比標准cGAN獲得更好的結果。 由於我們實施的是漸進式架構,因此我們希望在每個階段轉換后從Tensorflow中重置AdamOptimizer。 盡管如此,我們仍然沒有這樣做。 我們嘗試了多種方法,但要么收到錯誤消息“圖形已完成,無法修改”,要么參數未重置。

如果有人可以提供提示或一般方法,將非常感謝。

您只需要定義優化器,收集Adam變量及其初始化器。 然后,在培訓期間,您可以通過運行初始化程序來重新初始化變量。

以下最小示例應為您指明正確的方向

import tensorflow as tf

x = tf.placeholder(tf.float32, shape=(None, 1))

y_hat = tf.layers.Dense(10)(x)
y = 10

loss = tf.reduce_mean(tf.squared_difference(y_hat, y))

train = tf.train.AdamOptimizer().minimize(loss)

print(tf.all_variables())
adam_vars = [var for var in tf.all_variables() if "adam" in var.name.lower()]
print(adam_vars)
adam_reset = [var.initializer for var in adam_vars]

with tf.Session() as sess:
    # do stuff with your model: train, evaluate, whatever
    # when the reset condition is met, run:
    sess.run(adam_reset)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM