tf.contrib.layers.optimize_loss
的文档提到了给出learning_rate_decay_fn
的可能性,例如tf.train.exponential_decay
。但是,对于建议的衰变函数,我没有找到如何传递附加参数(decay_steps
,decay_rate
和{
第一次尝试:
def my_decay(a, b):
tf.train.exponential_decay(a, b, decay_steps=5000, decay_rate=0.5,
staircase=True, name="LR_decay")
train_op = tf.contrib.layers.optimize_loss(
loss,
global_step=global_counter,
learning_rate=FLAGS.learning_rate,
optimizer=optimizer,
learning_rate_decay_fn=my_decay
)
这将导致ValueError(试图将“values”转换为张量,但失败。错误:无值不受支持)。可能是因为函数是python函数而不是TensorFlow操作
第二次尝试:
^{pr2}$它抱怨缺少2个位置参数(因为调用缺少参数的函数不会返回函数,但会导致尝试求值)。在
另一次直接向optimize_loss
函数添加位置参数的尝试也失败了(因为参数没有传递,而是被视为直接给函数的参数,这肯定会失败。)
我怎样才能传递必要的论点?在
我想你的意思是在
my_decay
的定义中说return tf.train.exponential_decay(...
。在相关问题 更多 >
编程相关推荐