这里只做理解,不放官方文档。

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,计算一个二维卷积。所谓二维计算就是横向和纵向均卷积。

输入和核如下,没有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

当然这只是我的个人理解,如果有问题,可以下方留言,共同讨论。

————————————————