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
python解析html开发库pyquery使用方法
Feb 07 Python
在Django的URLconf中使用多个视图前缀的方法
Jul 18 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
python生成n个元素的全组合方法
Nov 13 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
Nov 29 Python
对Python3 goto 语句的使用方法详解
Feb 16 Python
python五子棋游戏的设计与实现
Jun 18 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 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
php简单静态页生成过程
2008/03/27 PHP
Array对象方法参考
2006/10/03 Javascript
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
Bootstrap精简教程
2015/11/27 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
three.js如何实现3D动态文字效果
2021/03/03 Javascript
Python图像灰度变换及图像数组操作
2016/01/27 Python
python遍历目录的方法小结
2016/04/28 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
在Python中COM口的调用方法
2019/07/03 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
自学考试自我鉴定范文
2013/09/26 职场文书
银行服务感言
2014/03/01 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
教师节获奖感言
2015/07/31 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python