原文:https://blog.csdn.net/GZHermit/article/details/79351803


Pytorch里面的maxpool,有一个属性叫ceil_mode,这个属性在api里面的解释是

ceil_mode: when True, will use ceil instead of floor to compute the output shape

也就是说,在计算输出的shape的时候,如果ceil_mode的值为True,那么则用天花板模式,否则用地板模式

???

举两个例子就明白了。

# coding:utf-8
import torch
import torch.nn as nn
from torch.autograd import Variableclass Net(nn.Module):def __init__(self):super(Net, self).__init__()self.maxp = nn.MaxPool2d(kernel_size=2, ceil_mode=False)def forward(self, x):x = self.maxp(x)return xsquare_size = 6
inputs = torch.randn(1, 1, square_size, square_size)
for i in range(square_size):inputs[0][0][i] = i * torch.ones(square_size)
inputs = Variable(inputs)
print(inputs)net = Net()
outputs = net(inputs)
print(outputs.size())
print(outputs)

Variable containing:

(0 ,0 ,.,.) =

0 0 0 0 0 0

1 1 1 1 1 1

2 2 2 2 2 2

3 3 3 3 3 3

4 4 4 4 4 4

5 5 5 5 5 5

[torch.FloatTensor of size 1x1x6x6]

torch.Size([1, 1, 3, 3])

Variable containing:

(0 ,0 ,.,.) =

1 1 1

3 3 3

5 5 5

[torch.FloatTensor of size 1x1x3x3]

在上面的代码中,无论ceil_mode是True or False,结果都是一样 
但是如果设置square_size=5,那么

当ceil_mode=True

Variable containing:

(0 ,0 ,.,.) =

0 0 0 0 0

1 1 1 1 1

2 2 2 2 2

3 3 3 3 3

4 4 4 4 4

[torch.FloatTensor of size 1x1x5x5] 
torch.Size([1, 1, 3, 3]) 
Variable containing:

(0 ,0 ,.,.) =

1 1 1

3 3 3

4 4 4

[torch.FloatTensor of size 1x1x3x3]

当ceil_mode=False

Variable containing:

(0 ,0 ,.,.) =

0 0 0 0 0

1 1 1 1 1

2 2 2 2 2

3 3 3 3 3

4 4 4 4 4

[torch.FloatTensor of size 1x1x5x5]

torch.Size([1, 1, 2, 2])

Variable containing:

(0 ,0 ,.,.) =

1 1

3 3

[torch.FloatTensor of size 1x1x2x2]

所以ceil模式就是会把不足square_size的边给保留下来,单独另算,或者也可以理解为在原来的数据上补充了值为-NAN的边。而floor模式则是直接把不足square_size的边给舍弃了

Pytorch中 maxpool的ceil_mode相关推荐

  1. PyTorch中MaxPool的ceil_mode属性

    PyTorch中的MaxPool(最大池化)有一个属性:ceil_mode,默认为False(地板模式),为True时是天花板模式. 转载于:https://www.cnblogs.com/xxxxx ...

  2. PyTorch中池化层的padding和ceil_mode参数设置

    在池化操作的接口中,padding和ceil_mode这两个参数会影响到输出特征图的大小.padding即对特征图大小进行扩充的像素数量:ceil_mode指明,当剩余的像素不足滤波器大小,是否仍对这 ...

  3. Lesson 16.5 在Pytorch中实现卷积网络(上):卷积核、输入通道与特征图在PyTorch中实现卷积网络(中):步长与填充

    卷积神经网络是使用卷积层的一组神经网络.在一个成熟的CNN中,往往会涉及到卷积层.池化层.线性层(全连接层)以及各类激活函数.因此,在构筑卷积网络时,需从整体全部层的需求来进行考虑. 1 二维卷积层n ...

  4. pytorch中的pre-train函数模型引用及修改(增减网络层,修改某层参数等)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/whut_ldz/article/det ...

  5. PyTorch中FLOPs计算问题

    最近看了很多关于FLOPs计算的实现方法,也自己尝试了一些方法,发现最好用的还是PyTorch中的thop库(代码如下): device = torch.device("cuda" ...

  6. Pytorch中的Conv1d()和Conv2d()函数

    文章目录 一.Pytorch中的Conv1d()函数 二.Pytorch中的Conv2d()函数 三.Pytorch中的MaxPool1d()函数 四.pytorch中的MaxPool2d()函数 参 ...

  7. Pytorch中CNN图像回归问题预测值都一样

    ** Pytorch中CNN图像回归问题预测值都一样 ** 上网也查阅了许多资料,然后对比各种方法都试了一遍,归结为以下几点: 1.出现预测值都一样的情况,一般都是在某一层梯度消失了,然后导致输入到下 ...

  8. pytorch中调整学习率的lr_scheduler机制

    pytorch中调整学习率的lr_scheduler机制 </h1><div class="clear"></div><div class ...

  9. pytorch中如何处理RNN输入变长序列padding

    一.为什么RNN需要处理变长输入 假设我们有情感分析的例子,对每句话进行一个感情级别的分类,主体流程大概是下图所示: 思路比较简单,但是当我们进行batch个训练数据一起计算的时候,我们会遇到多个训练 ...

最新文章

  1. VMware HA环境搭建七:WIN2012 ISCSI目标服务器的安装
  2. 【python】self cls
  3. vue项目运行启动方法(从github上下载了一个前端项目进行运行)
  4. LightOJ 1401 No More Tic-tac-toe 博弈论SG打表
  5. AWS vs K8s 是新的 Windows vs Linux
  6. SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法...
  7. data spring 指定时区_听说过spring-data-jdbc么?来个最佳实践
  8. linux 使用 ioctl 参数
  9. vscode 插件之 htmltagwrap的修改
  10. excel多列数据生成图分类有间隔
  11. Docker contanier comunication with route
  12. 极佳mysql数据库碎片恢复工具,极佳SQL数据库日志恢复工具
  13. 【原型设计】第一节:Axure RP9 下载安装、汉化和激活使用的方法教程
  14. The xor-longest Path poj3764
  15. Anaconda虚拟环境管理(命令行)
  16. Windows安装ElasticSearch 7.3.0
  17. 红巨人特效插件套装effects suite mac版
  18. 《带着神兽自学少儿编程》之01:爸爸下载Scratch【关注可畅读】
  19. 四川师范大学自然地理(1-地球)90分以上版本
  20. html5有哪些小特效,超级惊艳 10款HTML5动画特效推荐

热门文章

  1. 什么软件运用计算机处理图像,平面设计中计算机图形图像处理软件的运用探究...
  2. 【学习笔记】大数据技术之HBase
  3. CAD二次开发——1.环境搭建
  4. Ubuntu 安装中文man手册
  5. python3绘制哆啦A梦
  6. matlab课本作业答案,MATLAB 实用教程 课后习题答案
  7. 前端动画——网页时钟
  8. android studio 与eclipse创建命名空间时候的区别
  9. 语音识别数据增强方法(google2019年7月论文)
  10. mysql 将米换算公里_千米和公里怎么换算