Pytorch实现各种2d卷积示例


Posted in Python onDecember 30, 2019

普通卷积

使用nn.Conv2d(),一般还会接上BN和ReLu

参数量NNCin*Cout+Cout(如果有bias,相对来说表示对参数量影响很小,所以后面不考虑)

class ConvBNReLU(nn.Module):

 def __init__(self, C_in, C_out, kernel_size, stride, padding, affine=True):
  super(ConvBNReLU, self).__init__()
  self.op = nn.Sequential(
   nn.Conv2d(C_in, C_out, kernel_size, stride=stride, padding=padding, bias=False),
   nn.BatchNorm2d(C_out, eps=1e-3, affine=affine),
   nn.ReLU(inplace=False)
  )

 def forward(self, x):
  return self.op(x)

深度可分离卷积depthwise separable convolution

卷积操作可以分为NN 的Depthwise卷积(不改变通道数)和11的Pointwise卷积(改变为输出通道数),同样后接BN,ReLU。参数量明显减少

参数量:

NNCin+Cin11*Cout

class SepConv(nn.Module):
 
 def __init__(self, C_in, C_out, kernel_size, stride, padding, affine=True):
  super(SepConv, self).__init__()
  self.op = nn.Sequential(
   nn.ReLU(inplace=False),
   nn.Conv2d(C_in, C_in, kernel_size=kernel_size, stride=stride, padding=padding, groups=C_in, bias=False),
   nn.Conv2d(C_in, C_out, kernel_size=1, padding=0, bias=False),
   nn.BatchNorm2d(C_out, eps=1e-3, affine=affine)
   )
 def forward(self, x):
  return self.op(x)

空洞卷积dilated convolution

空洞卷积(dilated convolution)是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。利用添加空洞扩大感受野。

参数量不变,但感受野增大(可结合深度可分离卷积实现)

class DilConv(nn.Module):
  
 def __init__(self, C_in, C_out, kernel_size, stride, padding, dilation, affine=True):
  super(DilConv, self).__init__()
  self.op = nn.Sequential(
   nn.ReLU(inplace=False),
   nn.Conv2d(C_in, C_in, kernel_size=kernel_size, stride=stride, padding=padding, dilation=dilation, groups=C_in, bias=False),
   nn.Conv2d(C_in, C_out, kernel_size=1, padding=0, bias=False),
   nn.BatchNorm2d(C_out, eps=1e-3, affine=affine),
   )

 def forward(self, x):
  return self.op(x)

Identity

这个其实不算卷积操作,但是在实现跨层传递捷径

class Identity(nn.Module):

 def __init__(self):
  super(Identity, self).__init__()

 def forward(self, x):
  return x

以上这篇Pytorch实现各种2d卷积示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python算法学习之桶排序算法实例(分块排序)
Dec 18 Python
wxPython中listbox用法实例详解
Jun 01 Python
使用C++扩展Python的功能详解
Jan 12 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
Sanic框架应用部署方法详解
Jul 18 Python
Django数据库连接丢失问题的解决方法
Dec 29 Python
python2.7 安装pip的方法步骤(管用)
May 05 Python
Python openpyxl模块原理及用法解析
Jan 19 Python
TensorFlow保存TensorBoard图像操作
Jun 23 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
Python中的np.argmin()和np.argmax()函数用法
Jun 02 Python
Python面向对象之多态原理与用法案例分析
Dec 30 #Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 #Python
python面向对象之类属性和类方法案例分析
Dec 30 #Python
基于Python执行dos命令并获取输出的结果
Dec 30 #Python
python实现的批量分析xml标签中各个类别个数功能示例
Dec 30 #Python
python实现修改固定模式的字符串内容操作示例
Dec 30 #Python
python基于celery实现异步任务周期任务定时任务
Dec 30 #Python
You might like
smarty缓存用法分析
2014/12/16 PHP
php实现删除空目录的方法
2015/03/16 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
php实现头像上传预览功能
2017/04/27 PHP
js活用事件触发对象动作
2008/08/10 Javascript
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
JSONP基础知识详解
2017/03/19 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
python计数排序和基数排序算法实例
2014/04/25 Python
Python实现简单的语音识别系统
2017/12/13 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
详解Python 正则表达式模块
2018/11/05 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
python中时间模块的基本使用教程
2019/05/14 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
财务学生的职业生涯发展
2014/02/11 职场文书
文明市民先进事迹
2014/05/15 职场文书
公司外出活动方案
2014/08/14 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python