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时间整形转标准格式的示例分享
Feb 14 Python
Python中字符串的处理技巧分享
Sep 17 Python
Python用zip函数同时遍历多个迭代器示例详解
Nov 14 Python
详解 Python中LEGB和闭包及装饰器
Aug 03 Python
如何使用VSCode愉快的写Python于调试配置步骤
Apr 06 Python
Python实现重建二叉树的三种方法详解
Jun 23 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
Python设计模式之简单工厂模式实例详解
Jan 22 Python
对python中assert、isinstance的用法详解
Nov 27 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 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中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
浅谈Vue 性能优化之深挖数组
2018/12/11 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
python绘制条形图方法代码详解
2017/12/19 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
python的数学算法函数及公式用法
2020/11/18 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
给男朋友的道歉信
2014/01/12 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
银行业务授权委托书
2014/10/10 职场文书
参观邀请函范文
2015/02/02 职场文书
银行求职自荐信范文
2015/03/04 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
Python各协议下socket黏包问题原理
2022/04/12 Python