首页 >后端开发 >Python教程 >如何将 TensorFlow 张量转换为 NumPy 数组?

如何将 TensorFlow 张量转换为 NumPy 数组?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-03 17:54:30780浏览

How to Convert TensorFlow Tensors to NumPy Arrays?

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

在 TensorFlow 的 Python 绑定中,将张量转换为 NumPy 数组是进一步的必要步骤数据操作或与第三方库集成。

在 TensorFlow 2.x 中:

TensorFlow 2.x 默认启用急切执行,允许您简单地调用 .张量对象上的 numpy() 。此方法返回一个 NumPy 数组:

<code class="python">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)]</code>

在 TensorFlow 1.x 中:

默认情况下不启用急切执行。要将张量转换为 TensorFlow 1.x 中的 NumPy 数组:

  • 在会话中使用 .eval() 方法:
<code class="python">a = tf.constant([[1, 2], [3, 4]])
b = tf.add(a, 1)

with tf.Session() as sess:
    out = sess.run([a, b])
    # out[0] contains the NumPy array representation of a
    # out[1] contains the NumPy array representation of b</code>
  • 使用 tf .compat.v1.numpy_function:
<code class="python">a = tf.constant([[1, 2], [3, 4]])
b = tf.add(a, 1)

out = tf.compat.v1.numpy_function(lambda x: x.numpy(), [a, b])
# out[0] contains the NumPy array representation of a
# out[1] contains the NumPy array representation of b</code>

注意: NumPy 数组可能与 Tensor 对象共享内存。其中一个方面的任何更改都可能会反映在另一个方面。

以上是如何将 TensorFlow 张量转换为 NumPy 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn