栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python-如何在TensorFlow中打印Tensor对象的值?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-如何在TensorFlow中打印Tensor对象的值?

评估对象实际值的最简单方法[A]Tensor是将其传递给

Session.run()
方法,或者
Tensor.eval()
在有默认会话时(即在一个
with tf.Session()
:块中,或参阅下文)调用该方法。通常[B],如果不在会话中运行某些代码,就无法打印张量的值。

如果你正在试验编程模型,并且想要一种简单的方法来评估张量,则

tf.InteractiveSession
可以让你在程序开始时打开一个会话,然后将该会话用于所有
Tensor.eval()
(和
Operation.run()
)调用。当在一个Session无处不在的对象周围传递乏味的代码时,在诸如外壳或IPython笔记本之类的交互式设置中,这可能会更容易。例如,以下内容在Jupyter笔记本中起作用:

with tf.Session() as sess:  print(product.eval()) 

对于这么小的表达式来说,这似乎很愚蠢,但是Tensorflow中的关键思想之一是推迟执行:构建一个大型而复杂的表达式非常便宜,并且当你要对其进行评估时,可以使用后端(连接到该表达式)使用

Session
)能够更有效地安排其执行时间(例如,并行执行独立部分并使用GPU)。

[A]:要打印张量的值而不将其返回到Python程序,可以使用tf.Print()运算符,如Andrzej在另一个答案中建议的那样。请注意,你仍然需要运行部分图形来查看此op的输出,该输出已打印到标准输出中。如果你正在运行分布式

TensorFlow
tf.Print()
则将其输出打印到该op运行所在任务的标准输出中。这意味着,例如,如果你使用https://colab.research.google.com或任何其他Jupyter Notebook,则你在笔记本中将看不到输出tf.Print();在这种情况下,请参考此答案以获取如何使其仍然打印。

[B]:你也许可以使用实验性tf.contrib.util.constant_value()函数来获取恒定张量的值,但它并不打算用于一般用途,也没有为许多运算符定义。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号