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 相关文章推荐
利用Psyco提升Python运行速度
Dec 24 Python
windows系统下Python环境搭建教程
Mar 28 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
python使用thrift教程的方法示例
Mar 21 Python
pytorch 模型可视化的例子
Aug 17 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 Python
python 实现控制鼠标键盘
Nov 27 Python
Python运算符+与+=的方法实例
Feb 18 Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 Python
Python中time与datetime模块使用方法详解
Mar 31 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获取post中的json数据的实现方法
2011/06/08 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
python装饰器decorator介绍
2014/11/21 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
安全标准化实施方案
2014/02/20 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
领导班子整改方案
2014/10/25 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
nginx常用配置conf的示例代码详解
2022/03/21 Servers