numpy 實踐記錄

squeeze 壓縮維度爲1的numpy向量dom

argmax 獲取最大值的下標函數

np.random.shuffle(index)code

reshape是從低維度到高維度。max,sum等函數都是注意axis,不選擇就是全體計算。import

swapaxes 轉換軸,將兩個選擇的軸對調,在CNN中X乘W有的時候須要拉伸,若是軸不一樣結果不對。變量

看print 出來的np.array,最後在一維的是最後的維度。numpy

能夠看下面的示例。im

import numpy as np
a=np.arange(3*4*5).reshape(3,4,5)

# array([[[ 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, 36, 37, 38, 39]],
# 
#        [[40, 41, 42, 43, 44],
#         [45, 46, 47, 48, 49],
#         [50, 51, 52, 53, 54],
#         [55, 56, 57, 58, 59]]])
b=a.reshape(6,10)
# array([[ 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, 36, 37, 38, 39],
#        [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
#        [50, 51, 52, 53, 54, 55, 56, 57, 58, 59]])


b.swapaxes(1,2)
# array([[[ 0,  5, 10, 15],
#         [ 1,  6, 11, 16],
#         [ 2,  7, 12, 17],
#         [ 3,  8, 13, 18],
#         [ 4,  9, 14, 19]],
# 
#        [[20, 25, 30, 35],
#         [21, 26, 31, 36],
#         [22, 27, 32, 37],
#         [23, 28, 33, 38],
#         [24, 29, 34, 39]],
# 
#        [[40, 45, 50, 55],
#         [41, 46, 51, 56],
#         [42, 47, 52, 57],
#         [43, 48, 53, 58],
#         [44, 49, 54, 59]]])

random.randn(n) n這裏指的是獲取n個獨立高斯分佈的變量,使用元組就是幫你reshape一下。co

所以若是直接用n=1000,那麼方差就是1000而不是1,這裏要注意。壓縮

np.random.randn(100).reshape(10,5,2)
相關文章
相關標籤/搜索