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 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 Python
python Web开发你要理解的WSGI & uwsgi详解
Aug 01 Python
详解Numpy中的广播原则/机制
Sep 20 Python
在cmd中查看python的安装路径方法
Jul 03 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
Python while循环使用else语句代码实例
Feb 07 Python
pytorch 使用加载训练好的模型做inference
Feb 20 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 Python
Python二元算术运算常用方法解析
Sep 15 Python
python 实现体质指数BMI计算
May 26 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计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
php中socket的用法详解
2014/10/24 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
three.js实现圆柱体
2018/12/30 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
用Python实现换行符转换的脚本的教程
2015/04/16 Python
python万年历实现代码 含运行结果
2017/05/20 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
基于python实现KNN分类算法
2020/04/23 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
python如何判断IP地址合法性
2020/04/05 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
遗体告别仪式答谢词
2014/01/23 职场文书
小学校园活动策划
2014/01/30 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
公开致歉信
2019/06/24 职场文书
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript