摘要:张量是tensorflow最基本的概念,它与我们熟知的数组有相同的地方,也有不同的地方。
1. 张量的组成
张量由4部分组成:名字,类型,等级,形状(shape,暂且这么叫吧)
(1)名称:唯一的标志计算图中的张量。
(2)类型:数据类型: tf.float32,tf.int32等等。
(3)等级:张量的维度。一个标量(比如,1,2,3)等级为0,一个向量([1,2])等级为2。
(4)形状:在每个维度中元素的个数。一个标量形状空,一个向量[x],一个矩阵[2,3],2行3列
2. 张量的形状
在tensorflow中,我们可以用3种不同的方式表达张量的形状。
(1) 完全已知:如[1,2,3,4]。(tensorflow中,一般4维是NHWC格式,[batch,height,width,channel],如[1,2,3,4]代表一个图像,高2,宽3,4个通道。
(2)部分已知:在这个情形中,我们知道张量的等级(维度),但是,形状不知道,一般定义Input中,不知道有多少个样本,可以设置为None,代表任意多个。
(3) 未知的形状和已知的等级:如(None,None,None)
3. 张量的动态,静态
(1) 静态:在图形定义已知
(2)动态: 在图形运行时才知