最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對(duì)python 矩陣轉(zhuǎn)置transpose的實(shí)例講解

 更新時(shí)間:2018年04月17日 15:42:01   投稿:jingxian  
下面小編就為大家分享一篇對(duì)python 矩陣轉(zhuǎn)置transpose的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

在讀圖片時(shí),會(huì)用到這么的一段代碼:

image_vector_len = np.prod(image_size)#總元素大小,3*55*47
img = Image.open(path)
    arr_img = np.asarray(img, dtype='float64')
    arr_img = arr_img.transpose(2,0,1).reshape((image_vector_len, ))# 47行,55列,每個(gè)點(diǎn)有3個(gè)元素rgb。再把這些元素一字排開

transpose是什么意識(shí)呢? 看如下例子:

arr1 = array([[[ 0, 1, 2, 3],
    [ 4, 5, 6, 7]],
    [[ 8, 9, 10, 11],
    [12, 13, 14, 15]]])

這是原來的矩陣。如果對(duì)其進(jìn)行轉(zhuǎn)置,執(zhí)行arr2 = arr1.transpose((1,0,2))

得到:

array([[[ 0, 1, 2, 3],
    [ 8, 9, 10, 11]],
    [[ 4, 5, 6, 7],
    [12, 13, 14, 15]]])

過程是怎樣的?

arr1.shape 應(yīng)該是(2, 2, 4) 意為 2維,2*4矩陣

arr1.transpose(*args) 里面的參數(shù),可以這么理解,他是調(diào)換arr1.shape的順序,咱來給arr1.shape標(biāo)一下角標(biāo)哈,(2[0], 2[1], 4[2]) [ ] 里是shape的索引,對(duì)吧,

transpose((1, 0, 2)) 的意思是 按照這個(gè)順序 重新設(shè)置shape 也就是 (2[1], 2[0], 4[2])

雖然看起來 變換前后的shape都是 2,2,4 , 但是問題來了,transpose是轉(zhuǎn)置

shape按照(1,0,2)的順序重新設(shè)置了, array里的所有元素 也要按照這個(gè)規(guī)則重新組成新矩陣

比如 8 在arr1中的索引是 (1, 0, 0) 那么按照剛才的變換規(guī)則,就是 (0, 1, 0) 看看跟你結(jié)果arr2的位置一樣了吧,依此類推..

另外一個(gè)知識(shí)點(diǎn):

對(duì)于一維的shape,轉(zhuǎn)置是不起作用的,舉例:

x=linspace(0,4,5) 
#array([0.,1.,2.,3.,4.])
y=transpose(x)  # 會(huì)轉(zhuǎn)置失敗。

如果想正確使用的話:

x.shape=(5,1)
y=transpose(x)  #就可以了

以上這篇對(duì)python 矩陣轉(zhuǎn)置transpose的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

芦溪县| 邓州市| 方山县| 涿州市| 台东县| 丹东市| 南投市| 张家界市| 琼海市| 石城县| 丰城市| 那曲县| 惠来县| 天柱县| 寿阳县| 抚远县| 慈利县| 郁南县| 夏津县| 云阳县| 永昌县| 满洲里市| 紫阳县| 商洛市| 都江堰市| 萨嘎县| 甘孜县| 东阿县| 灵丘县| 泰宁县| 固阳县| 金阳县| 长宁区| 于田县| 霞浦县| 鄂温| 永修县| 双流县| 泽普县| 德令哈市| 星子县|