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

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的映射。

你可能感兴趣的:(把tensor转为numpy)