Pytorch教程(十三):reshape、squeeze、flatten
reshape
首先我們創(chuàng)建一個(gè)tensor,shape:3×43 \times 43×4,是一個(gè)兩個(gè)軸的二階張量。第一個(gè)軸的長(zhǎng)度是3,第二個(gè)軸的長(zhǎng)度是4,第一個(gè)軸的元素是數(shù)組,第二個(gè)軸的元素是數(shù)字
我們可以用torch.size()或者torch.shape來獲取形狀
張量形狀給出的另一個(gè)重要特征是張量中包含的元素的個(gè)數(shù),也可以通過獲取shape中各分量的值乘積來推導(dǎo)出來:
因?yàn)槲覀兊脑赜?2個(gè),因此任何reshape操作都必須考慮這12個(gè)元素。
squeeze壓縮
squeeze()壓縮一個(gè)張量可以移除所有長(zhǎng)度為1的軸axis,而解壓一個(gè)張量則會(huì)增加一個(gè)長(zhǎng)度為1的維度。因此squeeze和unsqueeze可以擴(kuò)大或縮小張量的秩。
flatten
通過構(gòu)建一個(gè)flatten來壓縮一個(gè)張量,當(dāng)我們把一個(gè)張量拉平時(shí),意味著我們把張量變成了更低秩的張量。所以flatten,本質(zhì)上就是壓縮張量,壓縮一個(gè)張量意味著除去所有的軸,只保留一個(gè),他創(chuàng)造了一個(gè)單軸的張量,它包含了張量元素。
一個(gè)flatten操作,是當(dāng)我們從一個(gè)卷積層過渡到一個(gè)全連接層時(shí)必須在神經(jīng)網(wǎng)絡(luò)中發(fā)生的操作。傳遞給全連接層的卷積層輸出必須在進(jìn)入全連接層之前進(jìn)行flatten。
flatten是一種特殊的reshape,即將所有的軸都被積壓在一起。
cat拼接
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Pytorch教程(十三):reshape、squeeze、flatten的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑族有效防辐射电脑族如何防辐射
- 下一篇: 3000元以内投影仪推荐什么牌子?