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 相关文章推荐
Django中实现点击图片链接强制直接下载的方法
May 14 Python
python中字典(Dictionary)用法实例详解
May 30 Python
python比较两个列表是否相等的方法
Jul 28 Python
Django实现全文检索的方法(支持中文)
May 14 Python
Python模拟简单电梯调度算法示例
Aug 20 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
python判断所输入的任意一个正整数是否为素数的两种方法
Jun 27 Python
django-rest-swagger的优化使用方法
Aug 29 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
tensorflow指定CPU与GPU运算的方法实现
Apr 21 Python
python爬取音频下载的示例代码
Oct 19 Python
用python制作个视频下载器
Feb 01 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 Http_Template_IT类库进行模板替换
2009/03/19 PHP
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
js 日期转换成中文格式的函数
2009/07/07 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
[52:14]VG vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
将Python代码打包为jar软件的简单方法
2015/08/04 Python
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
超实用的 30 段 Python 案例
2019/10/10 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
销售人员自我评价怎么写
2013/09/19 职场文书
医院护士的求职信范文
2013/12/26 职场文书
运动会800米加油稿
2014/02/22 职场文书
会务接待方案
2014/02/27 职场文书
供货协议书范本
2014/04/22 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
2015年环保局工作总结
2015/05/22 职场文书
健康教育主题班会
2015/08/14 职场文书
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers