太久没写代码,感觉各种函数不熟悉。以此贴作为今天的记录。
首先是pytorch中的卷积 nn.Conv2d
我们可以查看官方文档。
nn.Conv2d 输入信号的形式为(N,Cin,H,W),N表示batch size,Cin表示channel个数,H,W分别表示特征图的高和宽。
参数说明:
stride(步长):控制cross-correlation的步长,可以设为1个int型数或者一个(int, int)型的tuple。
padding(补0):控制zero-padding的数目。
dilation(扩张):控制kernel点(卷积核点)的间距; 也被称为 "à trous"算法. 可以在此github地址查看:Dilated convolution animations
groups(卷积核个数):这个比较好理解,通常来说,卷积个数唯一,但是对某些情况,可以设置范围在1 —— in_channels中数目的卷积核:
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
参数kernel_size
,stride,padding
,dilation
也可以是一个int
的数据,此时卷积height和width值相同;也可以是一个tuple