python库numpy的reshape的终极解释

a = np.arange(2*4*4)

b = a.reshape(1,4,4,2)           #应该这样按反序来理解:最后一个2是一个只有2个元素的向量,最后的4,2代表4×2的矩阵,最后的4×4×2代表立体张量,第一个1代表只有一个这样的张量(即该张量在第四维度只有一个元素)。

c = a.reshape(2,4,4,1)        #应该这样按反序来理解:最后一个1是只有一个1个元素的向量,最后的4,1代表4×1的矩阵(可降维成一个向量),最后的4×4×1代表立体张量(可降维成一个矩阵),第一个2代表存在2个这样的张量(或矩阵) (即该张量在第四维度有2个元素)。

 

可以通过 b[0:1, 3:, 3:, 0], b[0:1, 3:, 3:], b[0:1, 3:], b[0:] 等等方式去访问张量中的某些维度的张量。

 

posted @ 2017-03-21 14:50  微信公众号--共鸣圈  阅读(1171)  评论(0编辑  收藏  举报