pytorch nn.Conv2d

Conv2d(in_channels, out_channels, kernel_size, stride=1,padding=0, dilation=1, groups=1,bias=True, padding_mode=‘zeros’)

最近在学习李沐大神动手学习深度学习卷积神经网络(第六章)示例时,对torch包中的Conv2d函数不是很了解。

in_channels:输入的通道数目
out_channels: 输出的通道数目
kernel_size:卷积核的大小,类型为int 或者元组,当卷积是方形的时候,只需要一个整数边长即可,卷积不是方形,要输入一个元组表示 高和宽。
stride: 卷积每次滑动的步长为多少,默认是 1
padding: 设置在所有边界增加 值为 0 的边距的大小(也就是在feature map 外围增加几圈 0 ),例如当 padding =1 的时候,如果原来大小为 3 × 3 ,那么之后的大小为 5 × 5 。即在外围加了一圈 0 。
dilation:控制卷积核之间的间距
groups:控制输入和输出之间的连接
bias: 是否将一个 学习到的 bias 增加输出中,默认是 True 。
padding_mode : 字符串类型,接收的字符串只有 “zeros” 和 “circular”。

例子1:

conv2d = nn.Conv2d(1,1, kernel_size=(1,2), bias=False)

输入通道为1,输出通道为1,卷积核大小为1*2的,没有设置步长与边界,步长默认为1,没有学习偏差bias。
 

例子2:

conv2d_1 = nn.Conv2d(1,1,kernel_size=3,padding=1,stride=2)

输入通道为1,输出通道为1,卷积核大小为3*3的,边界左右扩展1,上下扩展1,步长为2。

例子3:

conv2d_2 = nn.Conv2d(1,1,kernel_size=(3,5),padding=(0,1),stride=(3,4))

输入通道为1,输出通道为1,卷积核大小为3*5的,边界左右不扩展,上下扩展1,左步长为3,右步长为4。

你可能感兴趣的:(pytorch基础,pytorch,深度学习,人工智能,李沐,卷积神经网络)