參考鏈接:
https://blog.csdn.net/sunny_xsc1994/article/details/82969867
https://www.cnblogs.com/lovephysics/p/7220111.html
這里只做理解,不放官方文檔。
1.nn.Conv1d
感覺一張圖就可以理解,不得不說這個圖真的太好了。圖片來源:https://zhuanlan.zhihu.com/p/29201491
所謂一維卷積,就是卷積時只看縱列。初始:7乘5 卷積核:三種大小,分別為2*5、3*5、4*5,每種兩個。重點是卷積時,只在縱列一個方向上滑動。這里stride為1,所以輸出(n+2p-f)/s+1,padding為0,所以輸出分別是{(7-2)/1 +1=6乘(5-5)/1+1=1},(5*1),4*1。經過一個卷積核大小為4的max_pooling,變成1個值。最后獲得6個值,進行拼接,在經過一個全連接層,輸出2個類別的概率。
2.nn.Conv2d
官方說明,給定一個4維的input和filter tensor,計算一個二維卷積。所謂二維計算就是橫向和縱向均卷積。
舉個例子:例子來源:https://www.cnblogs.com/lovephysics/p/7220111.html
輸入和核如下,沒有padding,stride=1
輸出為:將卷積核對應在input上,第一行對應算完,再算第二行,不清楚的,可以動手寫一下。
14 = 4 * 1 + 3 * 0 + 1 * 1 + 2 * 2 + 1 * 1 + 0 * 0 + 1 * 0 + 2 * 0 + 4 * 1
6 = 3 * 1 + 1 * 0 + 0 * 1 + 1 * 2 + 0 * 1 + 1 * 0 + 2 * 0 + 4 * 0 + 1 * 1
6 = 2 * 1 + 1 * 0 + 0 * 1 + 1 * 2 + 2 * 1 + 4 * 0 + 3 * 0 + 1 * 0 + 0 * 1
12 = 1 * 1 + 0 * 0 + 1 * 1 + 2 * 2 + 4 * 1 + 1 * 0 + 1 * 0 + 0 * 0 + 2 * 1
當然這只是我的個人理解,如果有問題,可以下方留言,共同討論。
————————————————
版權聲明:本文為CSDN博主「Elva_23」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Elva_23/article/details/83826587