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代码
Mar 13 Python
Python多线程编程简单介绍
Apr 13 Python
Tensorflow环境搭建的方法步骤
Feb 07 Python
分享一下Python数据分析常用的8款工具
Apr 29 Python
Python SVM(支持向量机)实现方法完整示例
Jun 19 Python
Python 字符串与数字输出方法
Jul 16 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
Python 监测文件是否更新的方法
Jun 10 Python
Python代码太长换行的实现
Jul 05 Python
解决hive中导入text文件遇到的坑
Apr 07 Python
python模块与C和C++动态库相互调用实现过程示例
Nov 02 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
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
YUI模块开发原理详解
2013/11/18 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
Vue 2.0 服务端渲染入门介绍
2017/03/29 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
python登陆asp网站页面的实现代码
2015/01/14 Python
Python装饰器的函数式编程详解
2015/02/27 Python
Python计算回文数的方法
2015/03/11 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
python字典排序的方法
2019/10/12 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
党员岗位承诺口号大全
2014/03/28 职场文书
公务员培的训心得体会
2014/09/01 职场文书
金融保险专业求职信
2014/09/03 职场文书