使用tf.unstack拆分张量后如何查看所得Tensor的实际值
TensorFlow查看拆分后张量具体值的方法
你看到的<tf.Tensor 'unstack_4:0' shape=(5,) dtype=int32>是张量的计算图节点元信息,还没有触发实际计算,所以没有加载具体数值,可根据你使用的TensorFlow版本选择对应方法:
TensorFlow 2.x(主流版本,默认开启即时执行模式)
- 直接调用张量的
numpy()方法即可输出具体数值,示例代码:
print(a.numpy())
- 如果你是在
tf.function装饰的图执行函数内部,无法直接调用numpy(),可以使用tf.print直接打印值:
tf.print(a)
TensorFlow 1.x(默认静态图模式)
需要创建会话(Session)触发计算图的实际运行,才能拿到张量值,示例代码:
with tf.Session() as sess: # 如果张量依赖变量,需要先执行变量初始化 sess.run(tf.global_variables_initializer()) a_value = sess.run(a) print(a_value)
额外通用技巧:不管1.x还是2.x版本,都可以直接用
tf.print(a)在计算流执行到对应节点时自动输出数值,不需要额外处理会话或者格式转换。
内容的提问来源于stack exchange,提问作者James Arten
相关产品推荐
相关产品推荐

