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 相关文章推荐
centos 下面安装python2.7 +pip +mysqld
Nov 18 Python
使用Python编写一个模仿CPU工作的程序
Apr 16 Python
介绍Python的@property装饰器的用法
Apr 28 Python
Python简单计算文件夹大小的方法
Jul 14 Python
Python自动化开发学习之三级菜单制作
Jul 14 Python
python操作列表的函数使用代码详解
Dec 28 Python
python数据批量写入ScrolledText的优化方法
Oct 11 Python
Python实现的各种常见分布算法示例
Dec 13 Python
python实现Virginia无密钥解密
Mar 20 Python
Python列表对象实现原理详解
Jul 01 Python
python flask web服务实现更换默认端口和IP的方法
Jul 26 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 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学习教程之第2天
2008/06/15 PHP
PHP+XML 制作简单的留言本 图文教程
2009/11/02 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
CI框架中数据库操作函数$this->db->where()相关用法总结
2016/05/17 PHP
PHP微信开发之查询微信精选文章
2016/06/23 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
jquery进行数组遍历如何跳出当前的each循环
2014/06/05 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Python输出9*9乘法表的方法
2015/05/25 Python
Python命名空间及作用域原理实例解析
2020/08/12 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
Python实现区域填充的示例代码
2021/02/03 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
年会搞笑主持词
2014/03/27 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
大学生就业意向书范文
2014/04/01 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
父亲去世追悼词
2015/06/23 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python