当前位置: 首页 > 工具软件 > Numpy.GPU > 使用案例 >

Tensor 与 numpy.array

澹台承载
2023-12-01

Tensors

一个Tensor是一个多维数组,类似于numpy.array。一个Tensor对象既有数据类型又有形状。Tensor对象可以驻留在像GPU这样的加速器内存中。Tensorflow提供了丰富的Tensor操作。这些操作自动转换python类型为Tensor。例如:

print(tf.add(1, 2))
print(tf.add([1, 2], [3, 4]))
print(tf.square(5))
print(tf.reduce_sum([1, 2, 3]))

# Operator overloading is also supported
print(tf.square(2) + tf.square(3))

输出:
tf.Tensor(3, shape=(), dtype=int32)
tf.Tensor([4 6], shape=(2,), dtype=int32)
tf.Tensor(25, shape=(), dtype=int32)
tf.Tensor(6, shape=(), dtype=int32)
tf.Tensor(13, shape=(), dtype=int32)

一个Tensor对象既有数据类型又有形状:

x = tf.matmul([[1]], [[2, 3]])
print(x)
print(x.shape)
print(x.dtype)

输出:
tf.Tensor([[2 3]], shape=(1, 2), dtype=int32)
(1, 2)
<dtype: ‘int32’>

Tensor 与 numpy.array的显著区别在于:
1、Tensor对象可以驻留在像GPU这样的加速器内存中。numpy.array只能存在于主机内存中
2、Tensor对象一旦生成,不可改变

另外:
在Tensor 与 numpy.array之间转换很容易。Tensorflow操作自动转换numpy.array为Tensor。numpy操作自动转换Tensor为numpy.arrtay。
从Tensor到numpy.array显式转换用numpy()方法。

 类似资料: