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()方法。