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

yipeiwu_com5年前Python基础

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用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现比较两个列表(list)范围

有一道题: 比较两个列表范围,如果包含的话,返回TRUE,否则FALSE。 详细题目如下: Create a function, this function receives two l...

python实现朴素贝叶斯算法

本代码实现了朴素贝叶斯分类器(假设了条件独立的版本),常用于垃圾邮件分类,进行了拉普拉斯平滑。 关于朴素贝叶斯算法原理可以参考博客中原理部分的博文。 #!/usr/bin/pytho...

python中的&&及||的实现示例

首先说明一下,在python中是没有&&及||这两个运算符的,取而代之的是英文and和or。其他运算符没有变动。 接着重点要说明的是python中的a.any(),我之所以会涉及到这个函...

详解python 字符串和日期之间转换 StringAndDate

python 字符串和日期之间转换 StringAndDate           这里给出实现...

如何在django里上传csv文件并进行入库处理的方法

如何在django里上传csv文件并进行入库处理的方法

运维平台导入数据这一功能实在是太重要了,我敢说在没有建自己的cmdb平台前,大多数公司管理服务器信息肯定是表格,用表格最麻烦的就是有点更新就得每个人发一份,这样大家信息才能统一,很不方便...