Pytorch之卷积层的使用详解


Posted in Python onDecember 31, 2019

1.简介(torch.nn下的)

卷积层主要使用的有3类,用于处理不同维度的数据

参数 Parameters:

in_channels(int) ? 输入信号的通道

out_channels(int) ? 卷积产生的通道

kerner_size(int or tuple) - 卷积核的尺寸

stride(int or tuple, optional) - 卷积步长

padding (int or tuple, optional)- 输入的每一条边补充0的层数

dilation(int or tuple, `optional``) ? 卷积核元素之间的间距

groups(int, optional) ? 从输入通道到输出通道的阻塞连接数

bias(bool, optional) - 如果bias=True,添加偏置

class torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

一维卷积层。用于计算ECG等一维数据。

input: (N,C_in,L_in) N为批次,C_in即为in_channels,即一批内输入一维数据个数,L_in是是一维数据基数

output: (N,C_out,L_out) N为批次,C_in即为out_channels,即一批内输出一维数据个数,L_out是一维数据基数

class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

二维卷积层。用于计算CT断层或MR断层,或二维超声图像,自然图像等二维数据。

self.conv1 = nn.Conv2d( # 1*28*28 -> 32*28*28
      in_channels=1,
      out_channels=32,
      kernel_size=5,
      stride=1,
      padding=2 #padding是需要计算的,padding=(stride-1)/2
    )

input: (N,C_in,H_in,W_in) N为批次,C_in即为in_channels,即一批内输入二维数据个数,H_in是二维数据行数,W_in是二维数据的列数

output: (N,C_out,H_out,W_out) N为批次,C_out即为out_channels,即一批内输出二维数据个数,H_out是二维数据行数,W_out是二维数据的列数

con2 = nn.Conv2d(1,16,5,1,2)
# con2(np.empty([1,1,28,28])) 只能接受tensor/variable
con2(torch.Tensor(1,1,28,28))
con2(Variable(torch.Tensor(1,1,28,28)))

class torch.nn.Conv3d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

三维卷积层。用于计算CT或MR等容积数据,视频数据等三维数据。

input: (N,C_in,D_in,H_in,W_in)

output: (N,C_out,D_out,H_out,W_out)

2.简介(torch.nn.functional下的)

在torch.nn.functional下也有卷积层,但是和torch.nn下的卷积层的区别在于,functional下的是函数,不是实际的卷积层,而是有卷积层功能的卷积层函数,所以它并不会出现在网络的图结构中。

torch.nn.functional.conv1d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)

参数:

- input ? 输入张量的形状 (minibatch x in_channels x iW)

- weight ? 过滤器的形状 (out_channels, in_channels, kW)

- bias ? 可选偏置的形状 (out_channels)

- stride ? 卷积核的步长,默认为1

>>> filters = autograd.Variable(torch.randn(33, 16, 3))
>>> inputs = autograd.Variable(torch.randn(20, 16, 50))
>>> F.conv1d(inputs, filters)

torch.nn.functional.conv2d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)

>>> # With square kernels and equal stride
>>> filters = autograd.Variable(torch.randn(8,4,3,3))
>>> inputs = autograd.Variable(torch.randn(1,4,5,5))
>>> F.conv2d(inputs, filters, padding=1)

torch.nn.functional.conv3d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)

>>> filters = autograd.Variable(torch.randn(33, 16, 3, 3, 3))
>>> inputs = autograd.Variable(torch.randn(20, 16, 50, 10, 20))
>>> F.conv3d(inputs, filters)

以上这篇Pytorch之卷积层的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈Python程序与C++程序的联合使用
Apr 07 Python
Python爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
Python实现简易Web爬虫详解
Jan 03 Python
Python wxpython模块响应鼠标拖动事件操作示例
Aug 23 Python
在Python中实现shuffle给列表洗牌
Nov 08 Python
python频繁写入文件时提速的方法
Jun 26 Python
Python简易版停车管理系统
Aug 12 Python
下载官网python并安装的步骤详解
Oct 12 Python
使用Python完成15位18位身份证的互转功能
Nov 06 Python
Python 中判断列表是否为空的方法
Nov 24 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 Python
Python中bisect的使用方法
Dec 31 #Python
pytorch中tensor张量数据类型的转化方式
Dec 31 #Python
Pytorch之parameters的使用
Dec 31 #Python
使用TensorFlow-Slim进行图像分类的实现
Dec 31 #Python
Pytorch之view及view_as使用详解
Dec 31 #Python
window环境pip切换国内源(pip安装异常缓慢的问题)
Dec 31 #Python
如何基于Python创建目录文件夹
Dec 31 #Python
You might like
PHP中的日期加减方法示例
2014/08/21 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
解决laravel session失效的问题
2019/10/14 PHP
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python argparser的具体使用
2019/11/10 Python
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
优良学风班申请材料
2014/02/13 职场文书
国庆节活动总结
2014/08/26 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
学校师德师风整改方案
2014/10/28 职场文书
检讨书大全
2015/01/27 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
标准发言稿结尾
2019/07/18 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android