gpt4 book ai didi

python - 在 tf.contrib.layers.optimize_loss 中使用指数衰减

转载 作者:太空宇宙 更新时间:2023-11-03 14:48:28 33 4
gpt4 key购买 nike

tf.contrib.layers.optimize_loss 的文档提到可以给出 learning_rate_decay_fn ,例如tf.train.exponential_decay 。但是,对于建议的衰减函数,我没有找到如何传递附加参数( decay_stepsdecay_ratestaircase )。

第一次尝试:

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 (尝试将“值”转换为张量但失败。错误:不支持任何值)。可能是因为该函数是 python 函数而不是 TensorFlow 操作。

第二次尝试:

train_op = tf.contrib.layers.optimize_loss(
loss,
global_step=global_counter,
learning_rate=FLAGS.learning_rate,
optimizer=optimizer,
learning_rate_decay_fn=tf.train.exponential_decay(decay_steps=5000, decay_rate=0.5,
staircase=True, name="LR_decay")
)

它提示缺少 2 个位置参数(因为调用缺少参数的函数不会返回函数,但会导致尝试求值)。

再次尝试将位置参数添加到 optimize_loss直接函数也失败了(因为参数没有被传递下来,而是直接被视为函数的参数,这一定会失败。)

如何传递必要的参数?

最佳答案

我认为你的意思是在my_decay的定义中说return tf.train.exponential_decay(...

关于python - 在 tf.contrib.layers.optimize_loss 中使用指数衰减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46078650/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com