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 基础学习第二弹 类属性和实例属性
Aug 27 Python
Python程序设计入门(1)基本语法简介
Jun 13 Python
python中pycurl库的用法实例
Sep 30 Python
解析Python中while true的使用
Oct 13 Python
详解Python中的array数组模块相关使用
Jul 05 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
python生成requirements.txt的两种方法
Sep 18 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
python科学计算之narray对象用法
Nov 25 Python
django下创建多个app并设置urls方法
Aug 02 Python
Pycharm常用快捷键总结及配置方法
Nov 14 Python
python3爬虫GIL修改多线程实例讲解
Nov 24 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文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
js选项卡的实现方法
2015/02/09 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
Python实现的计数排序算法示例
2017/11/29 Python
Java及python正则表达式详解
2017/12/27 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
pycharm新建一个python工程步骤
2019/07/16 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
学生个人求职自荐信格式
2013/09/23 职场文书
高级护理实习生自荐信
2013/09/28 职场文书
销售工作岗位职责
2013/12/24 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
爱国演讲稿500字
2014/05/04 职场文书
信息管理专业自荐书
2014/06/05 职场文书
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
张思德观后感
2015/06/09 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
详解Nginx 工作原理
2021/03/31 Servers
AI:如何训练机器学习的模型
2021/04/16 Python
Python入门之使用pandas分析excel数据
2021/05/12 Python