tensorflow - 当 fetch 包含 Operation 和 Tensor 时,tf.Session.run 如何工作?
问题描述
红色矩形中的值令人困惑:
的描述Session.run
:
为什么变量 tmpA 的值是 1.0,它应该是 9999.0,因为 B 的值是 10001.0
有人可以解释函数 tf.Session.run 是如何工作的吗?
解决方案
我建议您使用 Tensorboard 检查图表。计算顺序导致了这个结果。
当你运行第 13 行 sess.run([A, ops, B]) 时,程序
- 为 tmpA (1.0) 获取 A 的值
- 将 9999 分配给 A
- 计算 B
所以 tmpA 的值为 1.0,tmpBB 为 10001。
实际上 [A, ops, B] 的求值顺序是不确定的,所以有可能 tmpA 变成 9999 而 tmpBB 变成 3。
推荐阅读
- node.js - 在一种方法中找不到 TypeORM 存储库,但在另一种方法中找到
- perl - 如何在 Perl 中处理可变维度数组
- android - 有没有办法将移动响应网页重定向到桌面版本?
- javascript - 导入函数的未定义值
- javascript - 当我在回调函数中时,有人可以解释我如何访问变量值吗?
- java - 为什么我不能双击使用 Java 的 JFileChooser 选择文件?
- php - 如何将 json 过滤为特定格式(删除某些部分)
- java - 将所有记录从一个数据库表转移到另一个数据库表
- typescript - 为什么 TypeScript 强制我为在我的函数签名中键入为未定义的参数显式传递未定义?
- amazon-web-services - 向弹性beantalk发出HTTPS请求时如何解决ERR_CONNECTION_TIMED_OUT