pytorch1.0中torch.nn.Conv2d用法详解

Conv2d的简单使用

torch 包 nn 中 Conv2d 的用法与 tensorflow 中类似,但不完全一样。

在 torch 中,Conv2d 有几个基本的参数,分别是

in_channels 输入图像的深度

out_channels 输出图像的深度

kernel_size 卷积核大小,正方形卷积只为单个数字

stride 卷积步长,默认为1

padding 卷积是否造成尺寸丢失,1为不丢失

与tensorflow不一样的是,pytorch中的使用更加清晰化,我们可以使用这种方法定义输入与输出图像的深度并同时指定使用的卷积核的大小。

而我们的输入则由经由 Conv2d 定义的参数传入,如下所示:

# 定义一个输入深度为1,输出为6,卷积核大小为 3*3 的 conv1 变量
self.conv1 = nn.Conv2d(1, 6, 3)
# 传入原始输入x,以获得长宽与x相当,深度为6的卷积部分
x = self.conv1(x)

要注意的是,Conv2d中所需要的输入顺序为

batchsize, nChannels, Height, Width

其他的简单使用

同样的,与 Conv2d 类似的函数还有很多,类似 max_pool2d、relu等等,他们的使用方法与 Conv2d 极为类似,如下所示:

# relu函数的使用
F.relu(self.conv1(x))
# 池化函数的使用
F.max_pool2d(F.relu(self.conv2(x)), 2)

以上这篇pytorch1.0中torch.nn.Conv2d用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。