为了账号安全,请及时绑定邮箱和手机立即绑定

Tensorflow 多次 session.run() 在同一次迭代中

Tensorflow 多次 session.run() 在同一次迭代中

至尊宝的传说 2021-07-27 17:54:59
以下是 Tensorflow NN 训练部分的 2 个代码模式。我发现使用模型 1 是合乎逻辑的。但我经常在多个地方看到模型 2。我觉得 Model 2 是错误的。对于相同数据的每次迭代,模型不会在会话中运行两次图形吗?是否有我遗漏的东西,人们出于任何其他原因而这样做?模型 1for epoch in range(epochs):    for iteration in range(num_tr_iter):        _, loss, accuracy = sess.run([optimizer, loss, accuracy], feed_dict)型号 2for epoch in range(epochs):    for iteration in range(num_tr_iter):        sess.run(optimizer, feed_dict)        loss, accuracy = sess.run([loss, accuracy],feed_dict)编辑:为了更清楚,正在扩大问题如果下面的 sess.run() 执行优化器节点,它将执行其所有依赖节点。它还将运行底层的 convnet 和损失函数。    sess.run(optimizer, feed_dict)接下来,如果下面的 sess.run() 执行损失节点,为什么它不使用当前权重执行 convnet。我不是在推断它会再次运行优化。即使达到当前的损失,tensorflow 不会执行 convnet 并计算损失吗?        loss, accuracy = sess.run([loss, accuracy],feed_dict)
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

在模型 2 中,第一行代码在模型上运行优化器,第二行计算损失和准确率。它没有运行图形两次。

模型 1 和模型 2 基本相同,但为了简洁起见,要点归于模型 1。


查看完整回答
反对 回复 2021-08-03
  • 2 回答
  • 0 关注
  • 651 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号