张量是TensorFlow管理数据的形式,可以被简单的理解为多维数组。零阶张量表示标量,一阶张量表示向量,n阶张量表示n维数组。张量并没有保存数字,保存的是运算结果的引用。例如:
import tensorflow as tf
#定义两个向量a,b
#tf.constant是一个计算,这个计算的结果为一个张量,保存在变量a,b中
a = tf.constant([1.0, 2.0], name='a')
b = tf.constant([2.0, 3.0], name='b')
result = a+b
# result = tf.add(a, b, name="add") #两行都可以
print(result)
>>Tensor("add:0", shape=(2,), dtype=float32)
从结果可看出,一个张量主要保存了三个属性:名字name、维度shape和类型type。
张量的命名可以用“node:src_output”来表示,node为节点的名称,src_output表示当前张量来自节点的第几个输出。add:0表示result张量是节点add输出的第一个结果(从0开始)。
张量的维度,shape=(2,)说明了result是一个一维数组,长度为2。
张量的类型type应用于数据计算中,计算的时候数据类型要匹配。TensorFlow支持14种不同的类型,实数(tf.float32、tf.float64)、整数(tf.int8、tf.int16、tf.int32、tf.int64、tf.uint8)、布尔型(tf.bool)和复数(tf.complex64、tf.complex128)。
如何得到张量中真实的数字,可通过会话(session)得出。