本博客记录学习过程,如有错误,烦请大佬指正~
shape参数的个数应为维度数,每一个参数的值代表改维度上的长度:
shape=(4,) 表示此张量是一个1维张量,有4个数据,一维数据有4个数据;
shape=(4,1)表示此张量是一个2维张量,第一个维度长度为4,第二个维度长度为1,二维数组4行1列;
shape=(1,4)表示此张量是一个2维张量,第一个维度长度为1,第二个维度长度为4,二维数组1行2列;
具体例子:
a = tf.constant([[1,2,3,4]])
b = tf.constant([1,2,3,4])
c = tf.constant([[1],[2],[3],[4]])
print(a.shape) #shape=(1,4)
print(b.shape) #shape=(4,)
print(c.shape) #shape=(4,1)
第几个维度的长度,就是左数第几个中括号之间的元素总数量:
# 例:
[[[1,2,3],[4,5,6]]]
# 第一个维度中只有一个元素[[1,2,3][4,5,6]],所以第一个维度长度为1
# 第二个维度中有两个元素[1,2,3][4,5,6],所以第二个维度长度为2
# 第三个维度中有三个元素“1,2,3”或“4,5,6”,所以第三个维度长度为3
# 那么它的shape参数就是[1,2,3]
shape=(2,1)与shape=(2,)的区别也很清楚了,shape=(2,1)表示维度为2的张量,shape=(2,)表示维度为1的张量