PyTorch中MaxPool的ceil_mode参数

Pytorch中的maxpool,有一个属性叫ceil_mode,默认为False(地板模式),为True时是天花板模式。

① 当ceil_mode = False时,剩余数据不足kernel_size大小时,直接舍弃;
② 当ceil_mode = True时,将保存不足为kernel_size大小的数据保存,自动补足NAN至kernel_size大小。

举个例子:输入inputs的大小为5*5, max_pool中kernel_size为2,stride为2,

即 inputs= [  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 ]

则输出为:

# 当ceil_mode = False时:
               0   0 |  0   0 
               1   1 |  1   1 
              ————————————————
               2   2 |  2   2 
               3   3 |  3   3 
  输出:
            [ 1   1
              3   3 ]
  即:数据不足以构成2*2,舍弃。
# 当ceil_mode = True时:
             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   ×
             ×   × | ×   × | ×   ×
  输出:
            [ 1   1   1
              3   3   3
              4   4   4 ]
  即:数据不足以构成2*2,仍然对剩余数据进行计算。

猜你喜欢

转载自blog.csdn.net/baidu_41774120/article/details/128655456