1.数组维度
import tensorflow as tf
import numpy as np
a = np.arange(36)
print (a)
b = np.reshape(a,[2,2,3,3])
print (b)
print('b[0,0,0,0]:',b[0,0,0,0])
print('b[0,0,0,:]:',b[0,0,0,:])
print('b[0,0,:,0]:',b[0,0,:,0])
print('b[0,:,0,0]:',b[0,:,0,0])
print('b[:,0,0,0]:',b[:,0,0,0])
np.reshape, np.zeros等函数中,关于数组维度表示,用·「2,2,3,3」等形式数组表示。如「2,2,3,3」维数组,比较好的理解方式是:1维度长度2, 2维度长度2,3维度长度3,4维度长度4,不要用长宽高的思路去理解,高维度容易混乱。
只操作某1个维度的数据,可用b[0,0,:,0],b[:,:,0,1],b[:,:,1:2,0]等形式表示
每一个维度都可以填写指定的数字,或是x:y,或是:,指定选取其中的特定行,或者指定的某几行,或全部。
上面代码的打印结果如下:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35]
[[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]]
[[ 9 10 11]
[12 13 14]
[15 16 17]]]
[[[18 19 20]
[21 22 23]
[24 25 26]]
[[27 28 29]
[30 31 32]
[33 34 35]]]]
b[0,0,0,0]: 0
b[0,0,0,:]: [0 1 2]
b[0,0,:,0]: [0 3 6]
b[0,:,0,0]: [0 9]
b[:,0,0,0]: [ 0 18]
在对四维数组的打印中,可以看出,中括号的层级表示了维度。第一维对应了第一级中括号,第四维对应了第四级中括号。

1414

被折叠的 条评论
为什么被折叠?



