Pytorch maxpool的ceil_mode用法


Posted in Python onFebruary 18, 2020

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 Variable
 
 
class 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 x
 
square_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)

在上面的代码中,无论ceil_mode是True or False,结果都是一样

但是如果设置square_size=5,那么

当ceil_mode=True

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用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编写检测数据库SA用户的方法
Jul 11 Python
理解Python中的类与实例
Apr 27 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
python中如何使用朴素贝叶斯算法
Apr 06 Python
python 使用get_argument获取url query参数
Apr 28 Python
python实现求最长回文子串长度
Jan 22 Python
python中csv文件的若干读写方法小结
Jul 04 Python
详解numpy的argmax的具体使用
May 27 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
Python关于反射的实例代码分享
Feb 20 Python
Python面向对象程序设计之继承、多态原理与用法详解
Mar 23 Python
Python类型转换的魔术方法详解
Dec 23 Python
浅谈pytorch池化maxpool2D注意事项
Feb 18 #Python
Python3的socket使用方法详解
Feb 18 #Python
Python批量启动多线程代码实例
Feb 18 #Python
基于pytorch padding=SAME的解决方式
Feb 18 #Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 #Python
Python chardet库识别编码原理解析
Feb 18 #Python
解决pytorch-yolov3 train 报错的问题
Feb 18 #Python
You might like
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
node 使用 async 控制并发的方法
2018/05/07 Javascript
angular2路由之routerLinkActive指令【推荐】
2018/05/30 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
详解vue 命名视图
2019/08/14 Javascript
Python将xml和xsl转换为html的方法
2015/03/10 Python
Python安装第三方库的3种方法
2015/06/21 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
外贸业务员的岗位职责
2013/11/23 职场文书
大学生如何写自荐信
2014/01/08 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
求职意向书
2014/07/29 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL