首页 > 解决方案 > tf.print 没有结果

问题描述

我想用来tf.print显示张量值,但没有结果?

这是我的代码,是否有问题:

from __future__ import print_function
import tensorflow as tf

sess = tf.InteractiveSession()  
a = tf.constant([1.0, 3.0])
tf.print(a)

标签: pythontensorflow

解决方案


从 - 的文档中tf.Print已弃用并建议使用tf.print

请注意, tf.print 返回一个直接打印输出的无输出运算符。在 defuns 或 Eager 模式之外,除非直接指定session.run或用作其他运算符的控制依赖项,否则不会执行此运算符。

这只是图形模式下的一个问题。以下是如何确保tf.print在图形模式下执行的示例:

sess = tf.Session()
with sess.as_default():
    tensor = tf.range(10)
    print_op = tf.print(tensor)
    with tf.control_dependencies([print_op]):
      out = tf.add(tensor, tensor)
    sess.run(out)

因此,如果您启用了 Eager 模式,您的代码将按预期工作,如果您想继续使用您必须使用的静态图模式sess.run


推荐阅读