在 Python 中将 Tensor 转换为 NumPy 数组
本教程将介绍在 Python 中将 Tensor 转换为 NumPy 数组的方法。
在 Python 中使用 Tensor.numpy()
函数将 tensor 转换为 NumPy 数组
TensorFlow 库的 Eager Execution 可用于在 Python 中将 tensor 转换为 NumPy 数组。使用 Eager Execution
,TensorFlow 库操作的行为会更改,并且这些操作会立即执行。我们还可以使用 Eager Execution
在 Tensor 对象上执行 NumPy 操作。Tensor.numpy()
函数将 Tensor 转换为 Python 中的 NumPy 数组。在 TensorFlow 2.0 中,默认情况下启用了 Eager Execution
。因此,此方法最适合 TensorFlow 2.0 版。请参见以下代码示例。
import tensorflow as tf
tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tensor.numpy()
print("Array = ", array)
输出:
Tensor = tf.Tensor(
[[1 2 3]
[4 5 6]
[7 8 9]], shape=(3, 3), dtype=int32)
Array = [[1 2 3]
[4 5 6]
[7 8 9]]
在上面的代码中,我们首先在 Python 中使用 tf.constant()
函数创建并初始化了 Tensor 对象 tensor
。我们在 Python 中使用 tensor.numpy()函数打印了 tensor
,并将其转换为 NumPy 数组 array
。最后,我们打印了数组
。
在 Python 中使用 Tensor.eval()
函数将 tensor 转换为 NumPy 数组
我们还可以使用 Tensor.eval()
函数在 Python 中将 Tensor 转换为 NumPy 数组。TensorFlow 2.0 版不支持此方法。因此,我们必须保留 TensorFlow 的先前版本 1.0 或禁用 TensorFlow 库的 2.0 版的所有行为。请参见以下代码示例。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tensor.eval(session=tf.Session())
print("Array = ", array)
输出:
Tensor = Tensor("Const_1:0", shape=(3, 3), dtype=int32)
Array = [[1 2 3]
[4 5 6]
[7 8 9]]
在上面的代码中,我们使用 Python 中的 tensor.eval()
函数将 Tensor 对象 tensor
转换为 NumPy 数组 array
。我们首先导入了 TensorFlow 库的 1.0 版并禁用了 2.0 版的所有行为。然后,我们使用 tf.constant()
函数创建并初始化 tensor
,并在 tensor
中打印值。然后,我们执行 tensor.eval()
函数,并将返回的值保存在 array
内,并将值打印在 array
中。
在 Python 中使用 TensorFlow.Session()
函数将 tensor 转换为 NumPy 数组
TensorFlow.Session()
是另一个可用于在 Python 中将 Tensor 转换为 NumPy 数组的方法。该方法与以前的带有 Tensor.eval()
函数的方法非常相似。TensorFlow 库的 2.0 版也不支持此方法。我们要么必须安装 TensorFlow 库的 1.0 版本,要么禁用 TensorFlow 库的 2.0 版的所有行为。我们可以将 Tensor 对象传递给 TensorFlow.Session().run()
函数,以将该 Tensor 对象转换为 Python 中的 NumPy 数组。请参见以下代码示例。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tf.Session().run(tensor)
print("Array = ", array)
输出:
Tensor = Tensor("Const_6:0", shape=(3, 3), dtype=int32)
Array = [[1 2 3]
[4 5 6]
[7 8 9]]
在上面的代码中,我们使用 Python 中的 tf.Session.run(tensor)
函数将 Tensor 对象 tensor
转换为 NumPy 数组 array
。我们首先导入了 1.0 版兼容的 TensorFlow 库并禁用了 2.0 版的所有行为。然后,我们创建了 tensor 对象 tensor
,并打印了 tensor
的值。然后,使用 tf.Session.run(tensor)
函数将 tensor
tensor 转换为 array
NumPy 数组,并将值打印在 array
中。
相关文章
Python NumPy 中的逐元素除法
发布时间:2024/03/12 浏览次数:177 分类:Python
-
有两种主要方法可用于在 Python 中对 NumPy 数组执行逐元素除法,即 numpy.divide() 函数和 / 运算符。
如何在 Matplotlib Pyplot 中显示网格
发布时间:2024/02/04 浏览次数:128 分类:Python
-
本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。
在 Matplotlib 中的图中添加文字
发布时间:2024/02/04 浏览次数:152 分类:Python
-
本教程展示了我们如何使用 plt.text()方法在 Matplotlib 中为图或轴添加文字。
如何在 Matplotlib 中的多个线条之间进行填充
发布时间:2024/02/04 浏览次数:191 分类:Python
-
`fill_between()` 每次只能填充两条线之间的区域,但是我们可以选择一对行来填充多个线条之间的区域。
如何在 Matplotlib 中画一条任意线
发布时间:2024/02/04 浏览次数:155 分类:Python
-
本教程讲解了我们如何在 Matplotlib 中使用 matplotlib.pyplot.plot()、matplotlib.pyplot.vlines()、matplotlib.pyplot.hlines()方法和 matplotlib.collection.LineCollection 绘制任意线条。
Pandas 在 Matplotlib 柱状图上绘制多列图
发布时间:2024/02/04 浏览次数:174 分类:Python
-
在本教程中,我们将探讨如何使用 `DataFrame` 对象的 `plot()` 方法在柱状图上绘制多列。
如何在 Matplotlib 中绘制数据列表的直方图
发布时间:2024/02/04 浏览次数:167 分类:Python
-
本教程介绍了如何使用 plt.hist()方法从数据列表中绘制直方图。我们可以使用 plt.hist()方法从数据列表中绘制直方图。
Matplotlib 中的叠加条形图
发布时间:2024/02/04 浏览次数:172 分类:Python
-
本教程展示了如何使用 plt.bar()方法将某些数据集的条形图堆叠在另一个数据集上。我们在 Matplotlib 中使用 matplotlib.pyplot.bar()方法生成条形图。
在 Python Matplotlib 中生成反向色彩图
发布时间:2024/02/04 浏览次数:66 分类:Python
-
本教程解释了如何反转 Python Matplotlib Plot 的 Colormap。