【发布时间】:2016-10-24 07:55:20
【问题描述】:
今天我在 Tensorflow 中为我的 LSTM 添加了学习率衰减。
我变了
train_op = tf.train.RMSPropOptimizer(lr_rate).minimize(loss)
到
lr = tf.Variable(0.0,trainable=False)
并运行每个火车步骤
sess.run(tf.assign(lr, lr_rate*0.9**epoch))
但是,此更改将执行时间从约 7 分钟增加到约 20 分钟以上。
我的问题是: 为什么此更改会增加执行时间?
一个明显的解决方法是每 1000 次迭代才进行一次分配。但是,我想了解这背后的原因。
- sess.run() 是否需要额外的时间?
- tf.asign() 是否需要额外的时间?
- 我可以用另一种更有效的方式实现这个 tf.assign() 吗?
【问题讨论】:
标签: tensorflow