卷積操作轉化成矩陣乘法

2022-03-30 01:43:11 字數 971 閱讀 9807

參考:

平常都是無腦使用pytorch提供的nn.conv2d方法,但是並不關心具體該如何實現,原來是把卷積操作轉化成矩陣乘法,而不是真的通過滑動卷積核來做卷積,下面做具體介紹。

首先看一下下面的示意圖,左邊是輸入影象,右邊是卷積核(為方便說明,只用了乙個卷積核)。

下面是用這個卷積核對輸入影象做卷積操作,最後得到乙個2維的平面

由下圖可以看到卷積操作其實就是把輸入影象劃分成若干個塊(patch),每個塊的維度和卷積核保持一致(這裡暫時忽略stride,padding的影響)。然後我們可以把每個3維的patch展開成一維向量,然後拼接起來得到乙個二維矩陣。

因為每個patch都是和相同的卷積核做卷積,那麼我們也可以同樣把卷積核展開成以為向量。下圖中右邊的卷積核矩陣表示多個卷積核拼湊的結果。

完整的轉化過程可看下圖:

marsggbo♥原創

2019-12-20 17:17:07

漢字轉化成拼音

漢字轉化為拼音類 people new pinyin echo people output 張珊 class pinyin 漢字轉化並輸出拼音 param string str 所要轉化拼音的漢字 param boolean utf8 漢字編碼是否為utf8 return string public...

字元轉化成Ascii碼

var employeecode document.getelementbyid txtemployeecode 獲得文字物件 var cd employeecode.value 獲得文字值 for var a 0 aascii碼轉化成字元的方法 var realkey string.fromcha...

list轉化成json(有待改進)

1 將bean轉換成jsonobject jsonobject 2 將單個的jsonobject放到json陣列裡面 jsonarray 3 生成 最後的json資料 如下 public void joblist catch exception ex jsonarray jsonarray new ...