请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于命名空间的问题

with tf.name_scope(‘train_op’):
train_op = tf.train.AdamOptimizer(1e-3).minimize(loss)
这一步是做什么用的?哪个地方用到了train_op?

正在回答 回答被采纳积分+3

1回答

正十七 2019-10-01 00:16:46

train_op的定义是用来决定模型用什么方法来训练的。这里的Adam是梯度下降算法的一个变种。

train_op将会在训练的时候用到:

loss_val, acc_val, _ = sess.run(
            [loss, accuracy, train_op],
            feed_dict={
                x: batch_data,
                y: batch_labels})

在sess.run中调用一次train_op,就可以更新参数一次,也就是训练一步。

0 回复 有任何疑惑可以回复我~
  • 请问老师,定义命名空间有什么作用?
    如上代码为什么不能删除with tf.name_scope(‘train_op’):,
    直接写train_op = tf.train.AdamOptimizer(1e-3).minimize(loss)呢
    回复 有任何疑惑可以回复我~ 2020-06-30 10:11:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信