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 相关文章推荐
zbar解码二维码和条形码示例
Feb 07 Python
Python检测QQ在线状态的方法
May 09 Python
使用python遍历指定城市的一周气温
Mar 31 Python
Python自定义简单图轴简单实例
Jan 08 Python
python逐行读写txt文件的实例讲解
Apr 03 Python
python设置值及NaN值处理方法
Jul 03 Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
python 公共方法汇总解析
Sep 16 Python
python dict乱码如何解决
Jun 07 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
Anaconda使用IDLE的实现示例
Sep 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
Terran建筑一览
2020/03/14 星际争霸
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
Python聊天室实例程序分享
2016/01/05 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
Flask框架配置与调试操作示例
2018/07/23 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
在python中求分布函数相关的包实例
2020/04/15 Python
django orm模块中的 is_delete用法
2020/05/20 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
什么是类的返射机制
2016/02/06 面试题
基督教婚礼主持词
2014/03/14 职场文书
土建施工员岗位职责
2014/07/16 职场文书
家属答谢词
2015/01/05 职场文书
2015公司年度工作总结
2015/05/14 职场文书
推销搭讪开场白
2015/05/28 职场文书
初一语文教学反思
2016/03/03 职场文书
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记