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

如何在TensorFlow中将张量转换为numpy数组?

如何在TensorFlow中将张量转换为numpy数组?

萧十郎 2019-12-11 12:09:15
将Tensorflow与Python绑定一起使用时,如何将张量转换为numpy数组?
查看完整描述

3 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

TensorFlow 2.0

急切执行默认情况下.numpy()处于启用状态,因此只需调用Tensor对象即可。


import tensorflow as tf


a = tf.constant([[1, 2], [3, 4]])                 

b = tf.add(a, 1)


a.numpy()

# array([[1, 2],

#        [3, 4]], dtype=int32)


b.numpy()

# array([[2, 3],

#        [4, 5]], dtype=int32)


tf.multiply(a, b).numpy()

# array([[ 2,  6],

#        [12, 20]], dtype=int32)

值得注意的是(来自文档),


Numpy数组可以与Tensor对象共享内存。对一个的任何更改都可能反映在另一个上。


大胆强调我的。副本可能会也可能不会返回,这是实现的详细信息。


如果禁用了“急切执行”,则可以构建一个图形,然后通过tf.compat.v1.Session以下方式运行它:


a = tf.constant([[1, 2], [3, 4]])                 

b = tf.add(a, 1)

out = tf.multiply(a, b)


out.eval(session=tf.compat.v1.Session())    

# array([[ 2,  6],

#        [12, 20]], dtype=int32)

另请参见TF 2.0符号映射,以获取旧API到新API的映射。



查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 2101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信