张量可以被简单理解为多维数组。
张量维数
a = tf.constant([1,2,3]) #a为一维张量
打印a的值和结构
sess = tf.Session()
print(sess.run(a))
print a #打印a的结构
结果
[1 2 3]
Tensor("Const:0", shape=(3,), dtype=int32)#a的结构
定义b
b = tf.constant([[7,8,9],[10,11,12]])#b为二维张量
打印结果
[[ 7 8 9]
[10 11 12]]
Tensor("Const:0", shape=(2, 3), dtype=int32)
其中,外层中括号代表第一维度,对应shape=(2,3)中的第一个数2,2代表在这一维度有两个元素,即[7 8 9]和[10
11 12]。内层中括号代表第二维度,对应shape=(2,3)中的第二个数3,3代表在这一维度有三个元素,对[7 8 9
]来说有7,8,9这三个元素,对[10 11 12]来说有10,11,12这三个元素。
若维数继续增加,定义时在最内层中括号内增加中括号。
定义c
c = tf.constant([[[7,8],[10,11]],[[1,2],[3,4]]])
打印结果
[[[ 7 8]
[10 11]]
[[ 1 2]
[ 3 4]]]
Tensor("Const_1:0", shape=(2, 2, 2), dtype=int32)
其中,最外层中括号下的第一维度有两个元素
[[ 7 8]
[10 11]]
和
[[ 1 2]
[ 3 4]]
第二维和第三维与a和b的理解相同。