目录

一、Conv2d

二、Conv2d中的dilation参数


一、Conv2d

首先我们看一下Pytorch中的Conv2d的对应函数(Tensor通道排列顺序是:[batch, channel, height, width]):

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros')
  • in_channels参数代表输入特征矩阵的深度即channel,比如输入一张RGB彩色图像,那in_channels = 3;
  • out_channels参数代表卷积核的个数,使用n个卷积核输出的特征矩阵深度即channel就是n;
  • kernel_size参数代表卷积核的尺寸,输入可以是int类型如3 代表卷积核的height = width = 3,也可以是tuple类型如(3,  5)代表卷积核的height = 3,width = 5;
  • stride参数代表卷积核的步距默认为1,和kernel_size一样输入可以是int类型,也可以是tuple类型,这里注意,若为tuple类型即第一个int用于高度尺寸,第二个int用于宽度尺寸;
  • padding参数代表在输入特征矩阵四周补零的情况默认为0,同样输入可以为int型如1 代表上下方向各补一行0元素,左右方向各补一列0像素(即补一圈0),如果输入为tuple型如(2, 1) 代表在上方补两行下方补两行,左边补一列,右边补一列。可见下图,padding[0]是在H高度方向两侧填充的,padding[1]是在W宽度方向两侧填充的;

二、Conv2d中的dilation参数

以上大家应该都比较熟悉,今天想说的是其中的dilation这个参数,可以看到其默认值为1。先贴一段官方文档中对该参数的表述:

controls the spacing between the kernel points;

它有点类似于stride,实际含义为:每个点之间有空隙的过滤器,即为dilation。例如,在一个维度上,一个大小为3的过滤器w会对输入的x进行如下计算:w[0] * x[0] + w[1] * x[1] + w[2] * x[2]。若dilation = 1,过滤器会计算:w[0] * x[0] + w[1] * x[2] + w[2] * x[4];换句话说,在不同点之间有一个1的差距。(Pytoch中dilation默认等于1,但是实际为不膨胀,也就是说设置dilation = 2时才会真正进行膨胀操作)

这在某些情况下与0-dilated滤波器一起使用非常有用,因为它允许你用更少的层来更积极地合并整个输入的空间信息。例如,如果你把两个3 x 3的CONV层叠在一起,那么可以说,第二层的神经元是一个5x5的输入补丁的函数(我们会说这些神经元的有效感受野是5x5)。如果我们使用dilation的卷积,那么这个有效感受野会增长得更快。

这种情况实际为Pytorch中,dilation = 2的情况。

特别注意:在Pytorch中,dilation = 1等同于没有dilation的标准卷积。

References:

https://pytorch.org/docs/stable/generated/torch.nn.Conv2d.html?highlight=conv2d#torch.nn.Conv2d

https://blog.csdn.net/qq_37541097/article/details/102926037

https://cs231n.github.io/convolutional-networks/

https://stackoverflow.com/questions/43474072/default-dilation-value-in-pytorch

https://blog.csdn.net/qq_37541097/article/details/102926037

https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md

Pytorch中dilation(Conv2d)参数详解相关推荐

  1. Python数据可视化——matplotlib.pyplot中plt的参数详解

    matplotlib.pyplot中plt的参数详解: #平滑折线的示例 # plt.plot(xnew, ynew, marker='.', markevery=markevery, ls='-', ...

  2. 站长在线Python精讲:在Python函数中的默认参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的默认参数详解>.本文的主要内容有:默认参数的概念和默认参数的示例.默认参数不能设置可变对象. 目录 1 ...

  3. 站长在线Python教程精讲:在Python函数中的关键字参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的关键字参数详解>.本文的主要内容有:关键字参数的含义和关键字参数的应用举例. 目录 1.关键字参数的含 ...

  4. python xgboost参数_xgboost中XGBClassifier()参数详解

    常规参数 booster gbtree 树模型做为基分类器(默认) gbliner 线性模型做为基分类器 silent silent=0时,不输出中间过程(默认) silent=1时,输出中间过程 n ...

  5. 【PyTorch】nn.Conv2d函数详解

    文章目录 1. 函数语法格式 2. 参数解释 3. 尺寸关系 4. 使用案例 5. nn.functional.conv2d 1. 函数语法格式 CONV2D官方链接 torch.nn.Conv2d( ...

  6. pandas中的read_csv参数详解

    1.官网语法 pandas.read_csv(filepath_or_buffer, sep=NoDefault.no_default**,** delimiter=None**,** header= ...

  7. pytorch中的卷积操作详解

    首先说下pytorch中的Tensor通道排列顺序是:[batch, channel, height, width] 我们常用的卷积(Conv2d)在pytorch中对应的函数是: torch.nn. ...

  8. PyTorch中计算KL散度详解

    PyTorch计算KL散度详解 最近在进行方法设计时,需要度量分布之间的差异,由于样本间分布具有相似性,首先想到了便于实现的KL-Divergence,使用PyTorch中的内置方法时,踩了不少坑,在 ...

  9. Linux中top命令参数详解、常用快捷键

    1.命令 1.简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.  显示系统当前的进程和其他状况: top是一个动态显示过程 ...

  10. linux中w命令参数详解

    以下是是linux w 命令详解,希望对您有所帮助. 是linux w 命令详解功能说明:显示目前登入系统的用户信息. 语法:w [-fhlsuV][用户名称] linux w 命令补充说明:执行这项 ...

最新文章

  1. 0,1,2,3,2,1,0,1,2,3,2,1,0,...
  2. mongodb 3.2性能测试
  3. 基于matlab的人脸五官边缘检测方法,基于MATLAB的人脸识别系统的设计
  4. 设计模式之桥接模式实例
  5. 去除有序数组/链表的重复元素--双指针原地修改
  6. Eclipse安装TestNG插件
  7. excel记账本模板_原来这才是老板最喜欢看的财务报表!这些模板送你,录入自动生成...
  8. AppFabric客户端的一些配置(Microsoft.Web.DistributedCache)
  9. python——import日常学习记录
  10. Android sdk 环境变量配置无效
  11. er studio mysql逆向生成
  12. h3c交换机服务器无响应,华为(H3C)交换机版本升级遇到的问题总结
  13. 20世纪物理学进展与百年重大新技术
  14. oracle 11g xdb.,Oracle 11g升级到11.2.0.3过程中XDB.DBMS_XMLSCHEMA相关报错
  15. 无线路由器和有线路由器桥接
  16. [滴滴校招]末尾0的个数
  17. [数学知识][几何]求三角形面积的几种方法
  18. 解决pytorch当中RuntimeError: expected scalar type Double but found Float的问题
  19. 京东云使用密钥登陆云主机
  20. 2.k-均值(k-means)聚类算法

热门文章

  1. DS18B20温度传感器FPGA实现
  2. Sql Plus忘了用户名和密码
  3. Cozmo人工智能机器人SDK使用笔记(2)-显示部分face
  4. 排序算法之【打擂台算法】【冒泡算法】【选择排序】
  5. 有限合伙企业与有限责任公司区别
  6. Dodo:轻量地可定制顶部信息栏
  7. NBAのAI故事:教练,我不想打球,我想替你指挥
  8. SequoiaDB 巨杉数据库分区原理数据库分区
  9. 达人评测 r7 7735hs和r7 6800hs选哪个好? r77735hs和6800hs对比
  10. 网络安全实验DOS命令使用+抓包分析