MaxPool#

  • Domain: ai.onnx

  • Since version: 22

MaxPool consumes an input tensor X and applies max pooling across the tensor according to kernel sizes, stride sizes, and pad lengths. max pooling consisting of computing the max on all values of a subset of the input tensor according to the kernel size and downsampling the data into the output tensor Y for further processing. The output spatial shape is calculated differently depending on whether explicit padding is used, where pads is employed, or auto padding is used, where auto_pad is utilized. With explicit padding (https://pytorch.org/docs/stable/generated/torch.nn.MaxPool2d.html?highlight=maxpool#torch.nn.MaxPool2d):

output_spatial_shape[i] = floor((input_spatial_shape[i] + pad_shape[i] - dilation[i] * (kernel_shape[i] - 1) - 1) / strides_spatial_shape[i] + 1)

or

output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - dilation[i] * (kernel_shape[i] - 1) - 1) / strides_spatial_shape[i] + 1)

if ceil_mode is enabled. pad_shape[i] is the sum of pads along axis i. Sliding windows that would start in the right padded region are ignored.

auto_pad is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following when ceil_mode is enabled:

VALID: output_spatial_shape[i] = ceil((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) + 1) / strides_spatial_shape[i])
SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = ceil(input_spatial_shape[i] / strides_spatial_shape[i])

or when ceil_mode is disabled (https://www.tensorflow.org/api_docs/python/tf/keras/layers/AveragePooling2D):

VALID: output_spatial_shape[i] = floor((input_spatial_shape[i] - ((kernel_spatial_shape[i] - 1) * dilations[i] + 1)) / strides_spatial_shape[i]) + 1
SAME_UPPER or SAME_LOWER: output_spatial_shape[i] = floor((input_spatial_shape[i] - 1) / strides_spatial_shape[i]) + 1

And pad shape will be following if SAME_UPPER or SAME_LOWER:

pad_shape[i] = (output_spatial_shape[i] - 1) * strides_spatial_shape[i] + ((kernel_spatial_shape[i] - 1) * dilations[i] + 1) - input_spatial_shape[i]

The output of each pooling window is maximum number of elements exclude pad.

Inputs

  • X (T): Input data tensor from the previous operator; dimensions for image case are (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data. For non image case, the dimensions are in the form of (N x C x D1 x D2 … Dn), where N is the batch size. Optionally, if dimension denotation is in effect, the operation expects the input data tensor to arrive with the dimension denotation of [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE …].

Outputs

  • Y (T): Output data tensor from average or max pooling across the input tensor. Dimensions will vary based on various kernel, stride, and pad sizes. Floor value of the dimension is used

  • Indices (I): Indices tensor from max pooling across the input tensor. The dimensions of indices are the same as output tensor. The values in indices of are the indices of the selected values during pooling. The indices are computed as flatten 1-D tensor, and the indices do not consider padding. So the values in indices are in [0, N x C x D1 x … x Dn).

Type Constraints

  • T: Constrain input and output types to float and 8 bit tensors. Allowed types: tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int8), tensor(uint8).

  • I: Constrain index tensor to int64 Allowed types: tensor(int64).

Examples#

test_cc_maxpool_1d_default

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2]
Inputs:
  x: shape=(1, 3, 32), dtype=float32
    [[[ 1.4243481 , -0.61890423, -0.5907667 , ...,  1.3518724 ,  0.01262847,
        0.6841954 ],
      [-1.2623075 ,  0.20052178, -1.1255072 , ..., -1.0117033 ,  0.2188481 ,
       -0.6405767 ],
      [-1.4243295 ,  0.03376866,  1.3714509 , ...,  0.7166733 , -0.48120338,
       -0.3235552 ]]]

Outputs:
  y: shape=(1, 3, 31), dtype=float32
    [[[ 1.4243481 , -0.5907667 ,  1.4329695 , ...,  1.3518724 ,  1.3518724 ,
        0.6841954 ],
      [ 0.20052178,  0.20052178, -0.6395738 , ...,  0.63121516,  0.2188481 ,
        0.2188481 ],
      [ 0.03376866,  1.3714509 ,  1.3714509 , ...,  0.7166733 ,  0.7166733 ,
       -0.3235552 ]]]

test_cc_maxpool_2d_ceil

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [3, 3]
    strides = [2, 2]
    ceil_mode = 1
Inputs:
  x: shape=(1, 1, 4, 4), dtype=float32
    [[[[ 1.,  2.,  3.,  4.],
       [ 5.,  6.,  7.,  8.],
       [ 9., 10., 11., 12.],
       [13., 14., 15., 16.]]]]

Outputs:
  y: shape=(1, 1, 2, 2), dtype=float32
    [[[[11., 12.],
       [15., 16.]]]]

test_cc_maxpool_2d_ceil_output_size_reduce_by_one

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [1, 1]
    strides = [2, 2]
    ceil_mode = 1
Inputs:
  x: shape=(1, 1, 2, 2), dtype=float32
    [[[[1., 2.],
       [3., 4.]]]]

Outputs:
  y: shape=(1, 1, 1, 1), dtype=float32
    [[[[1.]]]]

test_cc_maxpool_2d_default

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2, 2]
Inputs:
  x: shape=(1, 3, 32, 32), dtype=float32
    [[[[ 5.80284715e-01, -1.49532557e+00,  4.26653415e-01, ..., -7.79630899e-01,
        -5.24736106e-01, -1.29129663e-01],
       [-4.09800529e-01, -3.66635054e-01,  8.13397825e-01, ..., -1.14675879e+00,
         1.67072505e-01, -8.55091155e-01],
       [ 3.98125738e-01, -9.87355888e-01,  2.24363828e+00, ...,  6.30600937e-03,
        -1.20975845e-01,  1.86962426e+00],
       ...,
       [-1.92564213e+00,  1.71664727e+00, -1.42050803e+00, ..., -2.11419702e+00,
        -1.99754262e+00,  7.28534460e-01],
       [ 4.91477668e-01,  1.01512718e+00,  7.89254904e-01, ..., -7.93269336e-01,
        -7.80449212e-01, -9.13854986e-02],
       [ 1.43485203e-01,  1.68990374e-01, -1.40479231e+00, ...,  7.35198557e-01,
        -1.61162019e+00,  1.39263010e+00]],

      [[ 1.26276660e+00,  1.19968462e+00,  1.86217710e-01, ...,  1.90514338e+00,
        -5.05257905e-01, -5.56864500e-01],
       [ 1.73886716e+00, -1.26145887e+00,  1.79012015e-01, ...,  4.74437356e-01,
         4.12616938e-01,  3.37435454e-02],
       [ 1.09935731e-01, -7.71577299e-01,  4.24331039e-01, ...,  1.38890004e+00,
        -8.23256075e-01, -1.64818585e-01],
       ...,
       [-1.23909688e+00, -5.56807399e-01,  2.07116023e-01, ...,  1.45565414e+00,
         1.70486701e+00,  7.90527742e-03],
       [ 7.83508003e-01, -1.91313371e-01,  1.06987154e+00, ...,  5.95766425e-01,
        -6.24176860e-01,  7.41825342e-01],
       [ 4.63409722e-01,  1.70713294e+00,  1.05116487e+00, ...,  3.60852093e-01,
        -2.84961611e-01, -6.30959332e-01]],

      [[-6.01076126e-01,  4.09603655e-01, -1.58983910e+00, ...,  5.92461109e-01,
         1.13855731e+00, -9.60217118e-01],
       [ 1.80463463e-01,  1.27915120e+00,  5.89680135e-01, ..., -4.61871237e-01,
         2.61121779e-03, -4.31402326e-01],
       [-4.04849440e-01,  6.96152389e-01, -2.16010734e-01, ...,  6.02034986e-01,
         9.18684125e-01,  1.65487123e+00],
       ...,
       [-1.13302395e-01, -4.85909395e-02,  9.67894912e-01, ...,  2.99837857e-01,
        -3.32152069e-01,  3.56617928e-01],
       [ 2.82084346e+00, -6.42390370e-01, -1.24922431e+00, ..., -1.64827251e+00,
         3.19593668e-01,  1.87647834e-01],
       [-1.01404907e-02, -1.54662454e+00, -2.84226853e-02, ..., -1.30292439e+00,
         5.87879300e-01, -2.35475488e-02]]]]

Outputs:
  y: shape=(1, 3, 31, 31), dtype=float32
    [[[[ 0.5802847 ,  0.8133978 ,  0.8133978 , ...,  0.6759698 ,  0.1670725 ,
         0.1670725 ],
       [ 0.39812574,  2.2436383 ,  2.2436383 , ...,  0.59156835,  0.1670725 ,
         1.8696243 ],
       [ 2.224965  ,  2.2436383 ,  2.2436383 , ...,  0.47439048,  0.47439048,
         1.8696243 ],
       ...,
       [ 1.7166473 ,  1.7166473 ,  1.2917125 , ..., -0.0714083 , -0.1440667 ,
         0.72853446],
       [ 1.7166473 ,  1.7166473 ,  0.7892549 , ..., -0.79326934, -0.7804492 ,
         0.72853446],
       [ 1.0151272 ,  1.0151272 ,  0.7892549 , ...,  0.73519856,  0.73519856,
         1.3926301 ]],

      [[ 1.7388672 ,  1.1996846 ,  1.4135132 , ...,  1.9051434 ,  1.9051434 ,
         0.41261694],
       [ 1.7388672 ,  0.42433104,  1.6400203 , ...,  1.3889    ,  1.3889    ,
         0.41261694],
       [ 0.9909582 ,  0.9909582 ,  1.6400203 , ...,  1.3889    ,  1.3889    ,
        -0.16481858],
       ...,
       [ 1.2360507 ,  0.87500125,  0.87500125, ...,  1.7024289 ,  1.704867  ,
         1.704867  ],
       [ 0.783508  ,  1.0698715 ,  1.0698715 , ...,  1.7024289 ,  1.704867  ,
         1.704867  ],
       [ 1.7071329 ,  1.7071329 ,  1.0698715 , ...,  2.2005148 ,  0.5957664 ,
         0.74182534]],

      [[ 1.2791512 ,  1.2791512 ,  1.3013896 , ...,  0.5924611 ,  1.1385573 ,
         1.1385573 ],
       [ 1.2791512 ,  1.2791512 ,  1.3013896 , ...,  0.602035  ,  0.9186841 ,
         1.6548712 ],
       [ 0.99589556,  0.99589556, -0.02243563, ...,  1.4653192 ,  2.9802272 ,
         2.9802272 ],
       ...,
       [ 0.14671928,  2.640543  ,  2.640543  , ...,  2.4881885 ,  2.4881885 ,
         0.94611555],
       [ 2.8208435 ,  0.9678949 ,  1.3382059 , ...,  0.29983786,  0.31959367,
         0.35661793],
       [ 2.8208435 , -0.02842269,  1.3382059 , ...,  0.12755202,  0.5878793 ,
         0.5878793 ]]]]

test_cc_maxpool_2d_dilations

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2, 2]
    strides = [1, 1]
    dilations = [2, 2]
Inputs:
  x: shape=(1, 1, 4, 4), dtype=float32
    [[[[ 1.,  2.,  3.,  4.],
       [ 5.,  6.,  7.,  8.],
       [ 9., 10., 11., 12.],
       [13., 14., 15., 16.]]]]

Outputs:
  y: shape=(1, 1, 2, 2), dtype=float32
    [[[[11., 12.],
       [15., 16.]]]]

test_cc_maxpool_2d_pads

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [3, 3]
    pads = [2, 2, 2, 2]
Inputs:
  x: shape=(1, 3, 28, 28), dtype=float32
    [[[[ 1.2357849e+00, -3.3475664e-01,  1.0486782e+00, ..., -3.6723489e-01,
        -9.0035096e-02,  1.5160390e+00],
       [-7.2980291e-01, -3.0515024e-01, -2.4598588e-01, ..., -7.7696490e-01,
        -6.2962934e-02,  3.9139634e-01],
       [-2.5761092e-01,  1.9529041e+00,  1.8944323e+00, ..., -6.2177372e-01,
         1.9879870e-03, -2.0970724e+00],
       ...,
       [ 6.2918687e-01,  1.2556236e+00, -3.4250414e-01, ...,  9.9656636e-01,
         5.2954787e-01,  4.8121628e-01],
       [-8.8107616e-01,  1.1328713e+00, -7.2820997e-01, ..., -1.5153421e-01,
         8.9700860e-01,  8.0935687e-01],
       [ 1.2466426e+00, -1.5712062e+00, -3.8190967e-01, ...,  5.3198290e-01,
         1.1058064e+00,  1.7978556e+00]],

      [[ 3.5160422e-01,  9.5463330e-01,  8.1811917e-01, ...,  8.4784776e-01,
         1.5972525e-01, -3.4283367e-01],
       [-1.1116155e+00,  2.9964089e-01,  8.4383756e-02, ..., -3.4955630e-01,
        -1.2900637e+00,  1.9709598e+00],
       [ 4.3167859e-01, -3.4403577e-01, -2.9276723e-02, ..., -8.8986713e-01,
         7.9836778e-02, -1.0170830e+00],
       ...,
       [ 4.7981206e-01,  1.6752635e-01,  3.5241121e-01, ..., -2.5853452e-01,
        -3.8542941e-01,  1.1489689e+00],
       [-6.1210984e-01,  6.8915957e-01, -6.0061784e-04, ...,  9.2109013e-01,
        -3.6068744e-04,  7.3321003e-01],
       [-3.3202145e-01, -8.7192541e-01,  1.2870572e+00, ..., -1.2159731e+00,
         9.0699965e-01, -2.3377047e-01]],

      [[ 6.2522256e-01,  2.4520540e-01, -1.0479764e+00, ..., -5.3979135e-01,
        -6.8654442e-01,  6.4451039e-01],
       [ 1.1973276e-01,  7.5134456e-01,  1.5069054e-01, ..., -7.3183171e-02,
         3.1486401e-01,  3.0960459e-02],
       [ 3.3086959e-01, -1.8817295e-01, -1.2328708e+00, ..., -8.0901533e-01,
         4.0649784e-01, -2.5267279e-01],
       ...,
       [ 2.0868115e+00,  1.9660625e+00,  1.9816971e+00, ..., -1.2653998e+00,
        -2.7339184e-01, -7.5294191e-01],
       [ 4.9158040e-01,  9.4412845e-01,  7.2469866e-01, ..., -7.9694372e-01,
         1.1594019e-02,  2.2739768e+00],
       [ 4.8643765e-01,  6.8658632e-01, -2.8779000e-01, ...,  1.2350485e+00,
        -1.0177182e+00, -1.2383713e+00]]]]

Outputs:
  y: shape=(1, 3, 30, 30), dtype=float32
    [[[[ 1.2357849 ,  1.2357849 ,  1.2357849 , ...,  1.516039  ,  1.516039  ,
         1.516039  ],
       [ 1.2357849 ,  1.2357849 ,  1.2357849 , ...,  1.516039  ,  1.516039  ,
         1.516039  ],
       [ 1.2357849 ,  1.9529041 ,  1.9529041 , ...,  1.516039  ,  1.516039  ,
         1.516039  ],
       ...,
       [ 1.2466426 ,  1.2556236 ,  1.2556236 , ...,  1.7978556 ,  1.7978556 ,
         1.7978556 ],
       [ 1.2466426 ,  1.2466426 ,  1.2466426 , ...,  1.7978556 ,  1.7978556 ,
         1.7978556 ],
       [ 1.2466426 ,  1.2466426 ,  1.2466426 , ...,  1.7978556 ,  1.7978556 ,
         1.7978556 ]],

      [[ 0.35160422,  0.9546333 ,  0.9546333 , ...,  0.84784776,  0.15972525,
        -0.34283367],
       [ 0.35160422,  0.9546333 ,  0.9546333 , ...,  1.9709598 ,  1.9709598 ,
         1.9709598 ],
       [ 0.4316786 ,  0.9546333 ,  0.9546333 , ...,  1.9709598 ,  1.9709598 ,
         1.9709598 ],
       ...,
       [ 0.47981206,  0.6891596 ,  1.2870572 , ...,  1.1489689 ,  1.1489689 ,
         1.1489689 ],
       [-0.33202145,  0.6891596 ,  1.2870572 , ...,  0.9210901 ,  0.90699965,
         0.73321   ],
       [-0.33202145, -0.33202145,  1.2870572 , ...,  0.90699965,  0.90699965,
        -0.23377047]],

      [[ 0.62522256,  0.62522256,  0.62522256, ...,  0.6445104 ,  0.6445104 ,
         0.6445104 ],
       [ 0.62522256,  0.75134456,  0.75134456, ...,  0.6445104 ,  0.6445104 ,
         0.6445104 ],
       [ 0.62522256,  0.75134456,  0.75134456, ...,  0.6445104 ,  0.6445104 ,
         0.6445104 ],
       ...,
       [ 2.0868115 ,  2.0868115 ,  2.0868115 , ...,  2.2739768 ,  2.2739768 ,
         2.2739768 ],
       [ 0.4915804 ,  0.94412845,  0.94412845, ...,  2.2739768 ,  2.2739768 ,
         2.2739768 ],
       [ 0.48643765,  0.6865863 ,  0.6865863 , ...,  1.2350485 , -1.0177182 ,
        -1.2383713 ]]]]

test_cc_maxpool_2d_precomputed_pads

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [5, 5]
    pads = [2, 2, 2, 2]
Inputs:
  x: shape=(1, 1, 5, 5), dtype=float32
    [[[[ 1.,  2.,  3.,  4.,  5.],
       [ 6.,  7.,  8.,  9., 10.],
       [11., 12., 13., 14., 15.],
       [16., 17., 18., 19., 20.],
       [21., 22., 23., 24., 25.]]]]

Outputs:
  y: shape=(1, 1, 5, 5), dtype=float32
    [[[[13., 14., 15., 15., 15.],
       [18., 19., 20., 20., 20.],
       [23., 24., 25., 25., 25.],
       [23., 24., 25., 25., 25.],
       [23., 24., 25., 25., 25.]]]]

test_cc_maxpool_2d_precomputed_same_upper

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [3, 3]
    strides = [2, 2]
    auto_pad = "SAME_UPPER"
Inputs:
  x: shape=(1, 1, 5, 5), dtype=float32
    [[[[ 1.,  2.,  3.,  4.,  5.],
       [ 6.,  7.,  8.,  9., 10.],
       [11., 12., 13., 14., 15.],
       [16., 17., 18., 19., 20.],
       [21., 22., 23., 24., 25.]]]]

Outputs:
  y: shape=(1, 1, 3, 3), dtype=float32
    [[[[ 7.,  9., 10.],
       [17., 19., 20.],
       [22., 24., 25.]]]]

test_cc_maxpool_2d_precomputed_strides

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2, 2]
    strides = [2, 2]
Inputs:
  x: shape=(1, 1, 5, 5), dtype=float32
    [[[[ 1.,  2.,  3.,  4.,  5.],
       [ 6.,  7.,  8.,  9., 10.],
       [11., 12., 13., 14., 15.],
       [16., 17., 18., 19., 20.],
       [21., 22., 23., 24., 25.]]]]

Outputs:
  y: shape=(1, 1, 2, 2), dtype=float32
    [[[[ 7.,  9.],
       [17., 19.]]]]

test_cc_maxpool_2d_same_lower

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2, 2]
    auto_pad = "SAME_LOWER"
Inputs:
  x: shape=(1, 3, 32, 32), dtype=float32
    [[[[-0.846573  ,  1.2833743 ,  0.7443729 , ..., -1.3460412 ,  0.7294753 ,
         0.6825587 ],
       [-1.2590255 , -2.3378267 , -0.7833349 , ...,  0.4255984 , -1.323812  ,
         0.01862341],
       [ 0.70100063,  0.5346314 , -0.5092597 , ...,  0.57043433, -0.03280929,
        -1.134544  ],
       ...,
       [ 1.9462404 ,  0.53198606, -1.648134  , ...,  1.5592868 ,  0.6429011 ,
        -1.1374124 ],
       [-0.09986878, -1.0736622 , -1.514247  , ..., -1.4806713 , -0.7258881 ,
         1.6252352 ],
       [ 0.58187973,  0.0559542 ,  1.716028  , ...,  1.7532557 ,  0.02533428,
        -1.5863453 ]],

      [[-1.2633207 ,  0.36203012,  1.7579862 , ..., -1.2877005 ,  0.85185736,
         0.83777416],
       [ 0.15792671,  0.04504448,  0.5266374 , ..., -0.83875525,  0.9671178 ,
        -2.0021718 ],
       [-0.09459785, -1.8373498 ,  0.48619452, ..., -1.3455886 ,  0.26116097,
        -0.95088553],
       ...,
       [ 1.5610067 , -0.87168527,  0.8048863 , ..., -0.9061975 , -1.2387512 ,
         1.797786  ],
       [ 1.0111693 ,  1.1130437 ,  0.4162958 , ...,  0.40092266,  0.6254446 ,
        -0.15443689],
       [-0.7545153 , -1.0372305 , -0.11510222, ..., -0.04286765, -1.1051035 ,
        -1.5105164 ]],

      [[ 1.3617735 ,  0.74795824,  0.49345884, ...,  1.273046  , -1.3554716 ,
         0.8775139 ],
       [ 0.57065916, -0.75412905, -0.12653314, ..., -0.3034981 , -0.71642685,
         0.34556422],
       [ 0.9372453 ,  0.35106334, -1.3405629 , ...,  0.31981754,  1.5488869 ,
        -1.4700456 ],
       ...,
       [-0.6848655 , -0.0722323 , -1.4845569 , ..., -0.09702074,  1.7643766 ,
        -0.10117364],
       [ 1.6076801 ,  1.069347  , -0.6013542 , ...,  0.62279165,  0.25702855,
        -0.7141915 ],
       [ 1.8504369 ,  0.84003997,  0.40663835, ...,  1.0630728 ,  0.6023525 ,
         1.1732253 ]]]]

Outputs:
  y: shape=(1, 3, 32, 32), dtype=float32
    [[[[-0.846573  ,  1.2833743 ,  1.2833743 , ..., -0.33787218,  0.7294753 ,
         0.7294753 ],
       [-0.846573  ,  1.2833743 ,  1.2833743 , ...,  0.4255984 ,  0.7294753 ,
         0.7294753 ],
       [ 0.70100063,  0.70100063,  0.5346314 , ...,  1.2150749 ,  0.57043433,
         0.01862341],
       ...,
       [ 1.9462404 ,  1.9462404 ,  1.3883861 , ...,  1.5592868 ,  1.5592868 ,
         0.6429011 ],
       [ 1.9462404 ,  1.9462404 ,  0.53198606, ...,  1.5592868 ,  1.5592868 ,
         1.6252352 ],
       [ 0.58187973,  0.58187973,  1.716028  , ...,  1.7532557 ,  1.7532557 ,
         1.6252352 ]],

      [[-1.2633207 ,  0.36203012,  1.7579862 , ...,  1.3408135 ,  0.85185736,
         0.85185736],
       [ 0.15792671,  0.36203012,  1.7579862 , ...,  1.3408135 ,  0.9671178 ,
         0.9671178 ],
       [ 0.15792671,  0.15792671,  0.5266374 , ...,  0.07284791,  0.9671178 ,
         0.9671178 ],
       ...,
       [ 1.5610067 ,  1.5610067 ,  0.8048863 , ...,  0.02679303, -0.20379072,
         1.797786  ],
       [ 1.5610067 ,  1.5610067 ,  1.1130437 , ...,  0.40092266,  0.6254446 ,
         1.797786  ],
       [ 1.0111693 ,  1.1130437 ,  1.1130437 , ...,  1.3350531 ,  0.6254446 ,
         0.6254446 ]],

      [[ 1.3617735 ,  1.3617735 ,  0.74795824, ...,  1.273046  ,  1.273046  ,
         0.8775139 ],
       [ 1.3617735 ,  1.3617735 ,  0.74795824, ...,  1.273046  ,  1.273046  ,
         0.8775139 ],
       [ 0.9372453 ,  0.9372453 ,  0.35106334, ...,  1.3054326 ,  1.5488869 ,
         1.5488869 ],
       ...,
       [-0.6848655 ,  1.309294  ,  1.309294  , ...,  1.0428418 ,  1.7643766 ,
         1.7643766 ],
       [ 1.6076801 ,  1.6076801 ,  1.069347  , ...,  0.62279165,  1.7643766 ,
         1.7643766 ],
       [ 1.8504369 ,  1.8504369 ,  1.069347  , ...,  1.0630728 ,  1.0630728 ,
         1.1732253 ]]]]

test_cc_maxpool_2d_same_upper

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2, 2]
    auto_pad = "SAME_UPPER"
Inputs:
  x: shape=(1, 3, 32, 32), dtype=float32
    [[[[-1.233148  ,  0.13186626,  0.7939877 , ...,  0.8681424 ,  0.64394414,
        -0.11681466],
       [-0.55781925,  1.5857856 ,  0.96086985, ..., -1.7239068 , -0.3767399 ,
        -0.13721095],
       [ 0.5708721 , -1.1477789 ,  0.46567276, ..., -1.4794129 , -1.5816475 ,
        -0.14631592],
       ...,
       [-0.6479904 ,  1.0187557 ,  1.3432059 , ..., -1.0646873 , -0.22294074,
         0.07077917],
       [ 1.3313967 ,  1.0094332 ,  1.3586669 , ..., -0.53467995,  0.36368942,
        -1.0939453 ],
       [ 0.7484042 ,  0.1799028 , -0.7029637 , ..., -0.377248  ,  0.6386618 ,
         0.62495095]],

      [[ 0.25430715,  1.1021228 , -0.49622867, ...,  0.0471443 ,  0.2533394 ,
         1.4414474 ],
       [ 0.16404562,  0.4021577 , -2.1441314 , ..., -0.634444  ,  0.9233343 ,
        -0.36226925],
       [ 0.5740191 ,  0.8784944 ,  0.8107991 , ..., -1.5918964 , -2.796402  ,
        -0.5721564 ],
       ...,
       [-0.12026425, -1.3159437 , -1.0271541 , ...,  1.1661525 ,  0.12790743,
        -0.26755294],
       [ 0.550683  ,  0.6940625 , -1.0455279 , ...,  0.77260435, -0.02757582,
         1.3979913 ],
       [ 1.8211744 ,  0.17316523, -1.6354498 , ..., -0.9516228 , -0.3841673 ,
        -0.11161825]],

      [[ 0.7136061 , -0.78652394,  1.8454345 , ..., -1.2720385 , -0.98802054,
        -0.48902142],
       [-0.47550792, -0.14462104, -0.85547227, ...,  0.33593807,  1.7964281 ,
         1.4436595 ],
       [-0.48156253,  0.04793333, -1.6997421 , ..., -0.8683587 ,  1.5804489 ,
        -0.8066926 ],
       ...,
       [-0.25314906, -1.0457202 ,  1.3359259 , ...,  1.3151037 , -1.1147457 ,
         1.0618027 ],
       [ 0.63597894,  0.7079089 ,  0.31293947, ..., -0.56030554,  1.515977  ,
         1.197144  ],
       [ 0.8095428 ,  1.2024052 , -0.4714438 , ..., -1.5034758 , -0.18256812,
        -0.7473524 ]]]]

Outputs:
  y: shape=(1, 3, 32, 32), dtype=float32
    [[[[ 1.5857856 ,  1.5857856 ,  0.96086985, ...,  0.8681424 ,  0.64394414,
        -0.11681466],
       [ 1.5857856 ,  1.5857856 ,  1.1374918 , ..., -0.3767399 , -0.13721095,
        -0.13721095],
       [ 0.5708721 ,  0.46567276,  1.1374918 , ...,  0.36009982,  0.36009982,
        -0.14631592],
       ...,
       [ 1.3313967 ,  1.3586669 ,  1.3586669 , ...,  0.36368942,  0.36368942,
         0.07077917],
       [ 1.3313967 ,  1.3586669 ,  1.3586669 , ...,  0.6386618 ,  0.6386618 ,
         0.62495095],
       [ 0.7484042 ,  0.1799028 , -0.217237  , ...,  0.6386618 ,  0.6386618 ,
         0.62495095]],

      [[ 1.1021228 ,  1.1021228 ,  0.30887213, ...,  0.9233343 ,  1.4414474 ,
         1.4414474 ],
       [ 0.8784944 ,  0.8784944 ,  0.8107991 , ...,  0.9233343 ,  0.9233343 ,
        -0.36226925],
       [ 1.4486924 ,  1.4486924 ,  1.3975581 , ...,  1.13822   ,  0.65583766,
         0.65583766],
       ...,
       [ 0.6940625 ,  0.6940625 ,  1.2515141 , ...,  1.1661525 ,  1.3979913 ,
         1.3979913 ],
       [ 1.8211744 ,  0.6940625 , -0.31480303, ...,  0.77260435,  1.3979913 ,
         1.3979913 ],
       [ 1.8211744 ,  0.17316523, -0.32448578, ..., -0.3841673 , -0.11161825,
        -0.11161825]],

      [[ 0.7136061 ,  1.8454345 ,  1.8454345 , ...,  1.7964281 ,  1.7964281 ,
         1.4436595 ],
       [ 0.04793333,  0.04793333,  0.5863865 , ...,  1.7964281 ,  1.7964281 ,
         1.4436595 ],
       [ 0.16164333,  0.16164333,  0.5863865 , ...,  1.5804489 ,  1.5804489 ,
        -0.08731077],
       ...,
       [ 0.7079089 ,  1.3359259 ,  1.3359259 , ...,  1.515977  ,  1.515977  ,
         1.197144  ],
       [ 1.2024052 ,  1.2024052 ,  0.31293947, ...,  1.515977  ,  1.515977  ,
         1.197144  ],
       [ 1.2024052 ,  1.2024052 , -0.4714438 , ..., -0.18256812, -0.18256812,
        -0.7473524 ]]]]

test_cc_maxpool_2d_strides

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [5, 5]
    strides = [3, 3]
Inputs:
  x: shape=(1, 3, 32, 32), dtype=float32
    [[[[ 0.16602525,  0.11929144,  0.5103543 , ..., -0.44074798,  1.8726983 ,
        -1.2862704 ],
       [ 0.38438547,  1.782237  , -0.76287836, ...,  0.65155816,  0.29515266,
        -0.24048653],
       [ 0.7632533 ,  1.3672935 ,  1.4501482 , ..., -1.512985  , -1.7005942 ,
        -1.8951962 ],
       ...,
       [-1.7466207 ,  1.5708871 , -2.0036483 , ...,  1.2441545 ,  0.44200435,
         0.2710248 ],
       [-0.59470165,  1.2235832 ,  1.0222397 , ..., -0.17072436, -0.05921624,
        -0.11944293],
       [ 2.2548351 ,  0.26387468,  0.49889192, ..., -0.48617485, -1.3038286 ,
        -0.34316775]],

      [[-0.32569262, -0.01140043, -0.46679023, ..., -1.0986394 , -0.804556  ,
        -1.877403  ],
       [ 1.1452156 , -0.60604674, -2.053123  , ..., -0.62569004,  0.7045106 ,
         0.13190065],
       [-0.46068156,  0.23277675, -1.1869664 , ...,  0.14356357,  0.50460553,
        -1.23438   ],
       ...,
       [ 0.41872427,  0.38981122,  1.7440066 , ..., -0.9187048 ,  0.02190685,
         1.5252512 ],
       [-1.9404764 ,  0.5129397 , -0.21909882, ...,  0.12690644,  0.7135966 ,
        -0.80859935],
       [ 0.37863344,  1.0494964 ,  0.03169734, ...,  1.3995097 , -0.56579185,
         0.03693416]],

      [[-0.15296295,  0.2664334 ,  1.1471239 , ...,  1.4725525 , -0.09067626,
         0.47216576],
       [-1.2594022 , -0.17913231,  0.3367018 , ...,  0.5774073 ,  1.8080859 ,
         0.1794483 ],
       [-1.4758993 ,  0.89891756,  0.07446362, ..., -0.7751423 ,  0.4101777 ,
         0.22543916],
       ...,
       [-0.6587232 ,  0.8889561 , -0.21119939, ..., -0.28455147, -2.098172  ,
         0.7763415 ],
       [-0.8997843 , -0.98052984, -1.4913992 , ..., -0.38538694,  0.9890618 ,
         0.01862116],
       [ 0.74630916,  0.00628574, -1.439897  , ...,  0.7996906 ,  0.9280498 ,
         0.94264007]]]]

Outputs:
  y: shape=(1, 3, 10, 10), dtype=float32
    [[[[2.0080745 , 2.580351  , 2.580351  , ..., 2.1065156 , 1.5460641 ,
        1.8726983 ],
       [1.7501041 , 2.580351  , 2.580351  , ..., 2.1065156 , 1.5460641 ,
        1.5460641 ],
       [1.6638124 , 1.942662  , 2.2702153 , ..., 2.087906  , 1.922583  ,
        1.922583  ],
       ...,
       [1.6427397 , 2.8749952 , 2.8749952 , ..., 1.7730662 , 1.803185  ,
        1.803185  ],
       [2.4099367 , 1.5229993 , 1.3423587 , ..., 1.5592363 , 2.1303174 ,
        2.1303174 ],
       [2.4099367 , 1.3224059 , 1.8662823 , ..., 1.5525616 , 2.1303174 ,
        2.1303174 ]],

      [[2.527229  , 1.8428931 , 1.8428931 , ..., 1.5831102 , 1.2618206 ,
        1.2733496 ],
       [2.527229  , 0.9679201 , 1.5379992 , ..., 1.4155552 , 1.4454943 ,
        2.0184128 ],
       [1.7096517 , 1.8290677 , 1.8290677 , ..., 1.6167114 , 3.2303867 ,
        3.2303867 ],
       ...,
       [2.2729568 , 2.2729568 , 1.7184474 , ..., 2.7104967 , 2.7104967 ,
        1.3664466 ],
       [2.2729568 , 2.2729568 , 1.7184474 , ..., 2.7104967 , 2.7104967 ,
        2.086401  ],
       [1.9799331 , 1.9799331 , 1.3176233 , ..., 1.2657219 , 1.9399097 ,
        1.9399097 ]],

      [[2.4204907 , 2.4204907 , 2.017021  , ..., 1.6348604 , 1.6348604 ,
        1.8080859 ],
       [2.4204907 , 2.4204907 , 1.9536985 , ..., 0.95633626, 2.0650494 ,
        2.4870765 ],
       [1.9272076 , 2.5736709 , 2.5736709 , ..., 1.961155  , 1.7472014 ,
        2.4870765 ],
       ...,
       [1.1803296 , 1.3648323 , 2.506617  , ..., 2.2452826 , 1.4087754 ,
        2.1013443 ],
       [1.1803296 , 1.3648323 , 1.7168952 , ..., 2.2452826 , 1.4958982 ,
        1.5736156 ],
       [1.1460465 , 1.2784623 , 1.2784623 , ..., 1.4958982 , 1.4958982 ,
        1.5736156 ]]]]

test_cc_maxpool_2d_uint8

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [5, 5]
    pads = [2, 2, 2, 2]
Inputs:
  x: shape=(1, 1, 5, 5), dtype=uint8
    [[[[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10],
       [11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20],
       [21, 22, 23, 24, 25]]]]

Outputs:
  y: shape=(1, 1, 5, 5), dtype=uint8
    [[[[13, 14, 15, 15, 15],
       [18, 19, 20, 20, 20],
       [23, 24, 25, 25, 25],
       [23, 24, 25, 25, 25],
       [23, 24, 25, 25, 25]]]]

test_cc_maxpool_3d_default

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2, 2, 2]
Inputs:
  x: shape=(1, 3, 32, 32, 32), dtype=float32
    [[[[[-1.00095415e+00,  1.33354032e+00,  5.18862069e-01, ...,
          5.89425087e-01, -2.08401847e+00, -2.12993312e+00],
        [-3.34791392e-01,  2.26438880e+00, -5.79539180e-01, ...,
         -1.44043934e+00,  1.42814314e+00, -4.73739147e-01],
        [-9.37819302e-01, -4.21166062e-01, -9.61123407e-01, ...,
          1.12007022e+00, -2.79763222e-01,  6.46137536e-01],
        ...,
        [ 9.44862783e-01,  5.31825840e-01,  9.43084240e-01, ...,
         -6.51812077e-01,  4.25127894e-01,  9.99117911e-01],
        [ 2.46012360e-01, -2.33221099e-01,  1.37830853e-01, ...,
          9.58387733e-01,  8.91991377e-01,  7.31432498e-01],
        [ 1.47832870e+00,  1.34578156e+00,  6.35201573e-01, ...,
         -9.29782689e-01, -1.04758346e+00, -1.02001861e-01]],

       [[-1.68982434e+00, -6.07475042e-02,  1.41302240e+00, ...,
          9.48444963e-01, -1.53880990e+00, -2.07814169e+00],
        [-2.63545930e-01, -1.17953980e+00,  1.33060083e-01, ...,
         -1.49060869e+00, -6.09044194e-01, -3.85611892e-01],
        [-2.19555557e-01,  3.52193147e-01,  9.39469993e-01, ...,
          1.74137521e+00, -1.28793466e+00,  1.51484656e+00],
        ...,
        [ 1.20608044e+00,  3.83930355e-01,  8.55708122e-01, ...,
          4.71797079e-01,  8.22595805e-02, -5.09169579e-01],
        [-8.62762988e-01,  1.87729076e-01, -4.48157012e-01, ...,
         -9.33882177e-01, -4.39177960e-01, -5.57209671e-01],
        [-3.44458997e-01, -1.21387804e+00, -1.15590310e+00, ...,
         -6.64325356e-01, -9.02270317e-01,  1.10057104e+00]],

       [[ 1.03375661e+00, -8.04593861e-01, -9.46080565e-01, ...,
         -4.40151542e-01, -6.09726071e-01,  6.25905633e-01],
        [-2.82589018e-01, -1.59531808e+00,  3.72235298e-01, ...,
          5.70409179e-01, -1.68737143e-01,  2.80450165e-01],
        [ 7.04649806e-01,  4.05518353e-01,  2.06731498e-01, ...,
         -1.57748520e-01, -1.10332608e+00, -1.90040159e+00],
        ...,
        [ 3.05323482e-01, -8.57376009e-02,  1.30277073e+00, ...,
         -1.57954776e+00,  9.31877017e-01,  9.32457507e-01],
        [-3.61286663e-02,  1.29815650e+00,  5.20242751e-02, ...,
         -1.22109866e-02,  8.29091847e-01, -1.32079601e+00],
        [ 3.58072102e-01, -3.58426303e-01, -1.03566468e+00, ...,
         -8.87243032e-01,  3.54745805e-01,  1.02012968e+00]],

       ...,

       [[ 3.51062655e-01,  1.89133441e+00, -1.58781588e-01, ...,
         -3.42413276e-01, -1.11120068e-01, -2.06356406e-01],
        [ 7.77136326e-01, -4.64570194e-01,  8.21441561e-02, ...,
         -1.34915769e+00, -3.55901659e-01,  4.13391590e-01],
        [ 1.35972142e+00,  1.27490616e+00, -8.67307603e-01, ...,
         -7.77780354e-01,  3.41192722e-01, -6.18430078e-01],
        ...,
        [-2.15849131e-01,  1.80983996e+00,  1.40079498e+00, ...,
         -1.03906918e+00, -1.99031949e+00,  1.43216205e+00],
        [-4.91645098e-01, -8.66005957e-01, -4.55944866e-01, ...,
         -1.20049393e+00, -1.03590615e-01, -1.73429787e+00],
        [-6.76036596e-01, -1.22381914e+00,  5.21164536e-01, ...,
          1.88861027e-01,  1.52308929e+00, -2.03611299e-01]],

       [[ 1.32940626e+00, -5.46988785e-01,  4.48736221e-01, ...,
         -2.59853721e-01,  7.40424752e-01,  7.27172494e-01],
        [ 5.24355054e-01, -1.15780675e+00, -5.33923209e-01, ...,
          8.54937971e-01, -1.05773568e+00, -2.39809230e-01],
        [ 1.68871149e-01, -1.71211869e-01,  3.67206275e-01, ...,
         -4.45083112e-01, -4.26132321e-01, -1.35067150e-01],
        ...,
        [ 1.61579990e+00,  2.91131258e-01, -1.66910994e+00, ...,
          5.70809655e-02,  6.90663084e-02, -2.79859006e-01],
        [ 4.93252724e-01,  8.42008054e-01, -1.56214738e+00, ...,
          6.16511762e-01, -1.58270848e+00, -2.92506546e-01],
        [ 8.96061957e-02, -1.72911391e-01,  2.49103427e-01, ...,
          3.42199355e-02,  2.84267008e-01, -7.09487200e-01]],

       [[-5.85068583e-01, -1.75374687e+00,  1.07641351e+00, ...,
         -3.68145823e-01,  3.54151040e-01,  1.49363011e-01],
        [-4.82461341e-02,  7.33400106e-01,  1.06735134e+00, ...,
         -3.72868031e-01,  1.22269320e+00,  2.37097979e-01],
        [ 1.73306257e-01, -4.86555725e-01, -8.15082610e-01, ...,
         -1.54863679e+00, -1.45608246e+00,  3.30554336e-01],
        ...,
        [ 3.67493719e-01, -3.84992033e-01,  1.64050984e+00, ...,
         -4.82705444e-01,  5.51519156e-01,  6.12609863e-01],
        [ 4.22987401e-01,  8.90541434e-01, -6.61994696e-01, ...,
          1.15397356e-01,  2.07468486e+00,  1.44862318e+00],
        [-5.80899656e-01,  2.63336360e-01, -1.58303201e-01, ...,
          7.70311356e-01, -1.89287290e-01, -9.86876011e-01]]],


      [[[-7.48898566e-01,  1.50180364e+00, -6.17718875e-01, ...,
          9.00187850e-01,  3.21873277e-01, -5.58443844e-01],
        [ 3.81252199e-01, -1.49687719e+00, -1.72442341e+00, ...,
         -9.27027822e-01,  1.51676047e+00,  1.67116094e+00],
        [ 5.39479777e-02,  3.20624918e-01,  1.22914803e+00, ...,
         -2.39689574e-01, -9.19850290e-01,  2.26048541e+00],
        ...,
        [-1.56999409e+00,  1.13534439e+00, -2.60812044e-01, ...,
         -2.45656163e-01, -1.83105445e+00,  9.94746089e-01],
        [-1.08874428e+00,  3.38847250e-01,  5.06688356e-01, ...,
         -1.98840380e+00, -3.35777193e-01, -9.59975719e-01],
        [ 8.65592360e-01,  4.25247014e-01, -3.25278699e-01, ...,
          1.14577401e+00, -1.55081034e+00,  6.51069999e-01]],

       [[-3.13247621e-01, -3.15539479e-01,  7.78949708e-02, ...,
          6.60479128e-01, -7.92654157e-01, -9.04561937e-01],
        [-9.97851044e-02, -8.28138649e-01, -1.44105303e+00, ...,
          3.96675952e-02, -2.69006521e-01,  1.21082187e+00],
        [ 7.80335546e-01,  1.66015133e-01, -2.76684314e-01, ...,
         -8.64961743e-01,  6.31190717e-01, -1.34931064e+00],
        ...,
        [-5.88449985e-02,  9.77119505e-01,  3.02134067e-01, ...,
         -1.60295054e-01,  1.97251189e+00,  1.24185681e+00],
        [-3.16201419e-01, -5.19160867e-01,  2.67373264e-01, ...,
          1.62746787e+00,  1.57899010e+00, -1.61857021e+00],
        [-1.37604761e+00,  2.18774581e+00,  1.12842762e+00, ...,
         -1.64866698e+00, -5.29165149e-01,  1.31323308e-01]],

       [[-1.18768060e+00,  1.68440390e+00,  5.87754250e-01, ...,
         -1.57813501e+00,  1.36917639e+00, -2.87862718e-01],
        [ 1.31430686e+00,  2.01793060e-01,  9.24296081e-01, ...,
          1.14971256e+00,  5.81085943e-02, -7.00567141e-02],
        [-6.37267008e-02,  6.24123335e-01,  4.59033579e-01, ...,
          1.09853661e+00,  6.29638791e-01, -4.22088206e-01],
        ...,
        [ 6.04775906e-01,  9.96240675e-02,  9.36432242e-01, ...,
         -4.93786521e-02,  7.46942520e-01,  2.03574836e-01],
        [-1.48996606e-01, -1.45748824e-01, -4.77981478e-01, ...,
         -1.89475977e+00, -5.77083349e-01, -4.75363731e-01],
        [ 2.77784854e-01,  6.05824590e-01,  2.85824269e-01, ...,
          9.24503803e-01,  4.87227514e-02,  7.23556995e-01]],

       ...,

       [[-1.66246481e-02, -4.31953758e-01,  1.16490149e+00, ...,
          1.77179545e-01,  1.27786890e-01, -2.64670700e-01],
        [ 2.02650142e+00,  1.00878906e+00, -1.15678281e-01, ...,
         -2.01218748e+00,  7.31085896e-01,  6.89818382e-01],
        [-3.97513092e-01, -7.30568171e-01,  8.26057732e-01, ...,
          2.68535346e-01,  5.97220659e-01, -1.23187435e+00],
        ...,
        [-6.97791398e-01, -1.37513244e+00, -1.57010126e+00, ...,
         -5.80663562e-01,  2.04427838e+00,  2.96523631e-01],
        [-2.17805058e-02, -1.91836166e+00,  4.47933003e-02, ...,
          3.38854343e-01,  1.62894714e+00,  8.02546382e-01],
        [ 2.60892361e-01, -1.64750703e-02, -9.40078318e-01, ...,
          2.98721433e-01,  1.34793788e-01,  6.07563972e-01]],

       [[-9.80602682e-01, -2.47516489e+00, -7.19547391e-01, ...,
         -2.08867952e-01, -1.95154536e+00,  1.84051859e+00],
        [ 2.62246394e+00, -8.88501644e-01,  8.46215963e-01, ...,
          1.39479208e+00,  7.18518972e-01, -8.71570334e-02],
        [-1.01427054e+00, -2.35890412e+00,  1.25597310e+00, ...,
         -7.33105183e-01,  1.11817634e+00, -7.78554985e-03],
        ...,
        [-1.21440971e+00, -1.22560978e+00, -1.63568091e+00, ...,
          8.66034865e-01,  1.76079309e+00, -2.32100546e-01],
        [-1.04863346e+00, -1.35548091e+00, -1.39608359e+00, ...,
          1.66936412e-01,  1.60943460e+00,  8.18594813e-01],
        [ 3.36391896e-01, -1.39755714e+00,  2.40474391e+00, ...,
         -1.00592566e+00,  6.55936956e-01,  3.20577562e-01]],

       [[-2.76558906e-01, -1.21049190e+00, -5.25782943e-01, ...,
          1.03652135e-01,  1.45047688e+00, -1.77738178e+00],
        [ 1.59728691e-01, -6.16775751e-01, -9.52102244e-01, ...,
         -1.35184598e+00,  5.92613220e-01, -2.85320431e-01],
        [-1.84864068e+00, -1.08888018e+00,  5.09821475e-01, ...,
         -7.21938968e-01,  6.33479297e-01, -1.10752642e+00],
        ...,
        [ 1.54013026e+00, -2.44895205e-01, -7.63931423e-02, ...,
          1.48053944e-01,  3.35767150e-01, -1.37438655e-01],
        [ 6.59547448e-01,  6.55420363e-01,  1.33510566e+00, ...,
         -1.65743911e+00,  1.72896576e+00, -1.77294219e+00],
        [ 1.68040425e-01, -2.49522281e+00,  2.58672144e-02, ...,
          2.35629693e-01, -5.01577020e-01, -2.02761292e+00]]],


      [[[-1.00375973e-01,  3.67242903e-01,  9.15426970e-01, ...,
         -9.88375366e-01,  2.18262836e-01,  8.39794993e-01],
        [-1.40422392e+00,  1.86896816e-01,  1.14582300e+00, ...,
         -2.19519094e-01,  1.20551348e+00,  3.95646006e-01],
        [ 9.72871244e-01,  4.70458001e-01,  1.07567787e+00, ...,
          8.20453614e-02, -5.22518218e-01,  2.65114903e-01],
        ...,
        [ 6.06535792e-01, -1.77737474e+00, -5.95018446e-01, ...,
         -8.47651362e-01,  7.32383691e-03,  1.68093014e+00],
        [-8.60116482e-01, -1.46461979e-01, -1.26129401e+00, ...,
         -9.89349186e-01,  7.92936385e-01, -8.27538729e-01],
        [-1.24312162e+00,  1.08739638e+00, -4.99111563e-01, ...,
         -3.88709903e-01, -1.99715340e+00, -7.01195002e-02]],

       [[-1.92717835e-01, -2.43195310e-01,  6.03943765e-01, ...,
          7.45108962e-01, -1.13823617e+00, -2.65849501e-01],
        [ 3.10248882e-01, -3.72764945e-01, -3.73963684e-01, ...,
          9.72464904e-02, -1.08744301e-01, -3.66134882e-01],
        [-3.18246186e-01,  1.01560605e+00, -5.12659431e-01, ...,
         -2.87270039e-01, -9.63761270e-01, -1.39915931e+00],
        ...,
        [ 7.92742133e-01, -6.95149302e-01,  2.19668007e+00, ...,
          7.40536749e-01,  9.73738909e-01,  6.29487336e-01],
        [ 1.55297341e-03, -8.92499447e-01,  2.76401353e+00, ...,
         -5.52677751e-01,  6.69734776e-01, -7.45397747e-01],
        [ 8.53597164e-01, -2.82095999e-01,  4.46992904e-01, ...,
          1.18491864e+00, -6.24875605e-01, -2.99288064e-01]],

       [[-7.61767864e-01,  3.53742212e-01, -1.25790811e+00, ...,
         -1.77233469e+00,  3.51409286e-01, -3.92229229e-01],
        [-2.20051736e-01,  1.13452590e+00,  1.63240242e+00, ...,
          6.28343463e-01,  6.38733745e-01, -6.58142686e-01],
        [ 6.36096179e-01, -1.01585782e+00, -1.33361173e+00, ...,
          1.29601106e-01, -2.42888957e-01,  1.84560633e+00],
        ...,
        [ 2.61528999e-01,  2.48828232e-01, -5.23258924e-01, ...,
         -6.39870286e-01, -1.42205453e+00, -1.70202219e+00],
        [-1.38161993e-02,  3.52347225e-01,  6.56171679e-01, ...,
          1.10368818e-01, -2.13790727e+00,  3.62823963e-01],
        [ 2.03490639e+00, -2.69446194e-01,  5.21325991e-02, ...,
          7.72516489e-01,  1.01529968e+00, -1.18141460e+00]],

       ...,

       [[-7.08311379e-01,  2.81020164e-01, -2.24654704e-01, ...,
         -2.36939311e+00, -1.15231633e+00, -2.19384030e-01],
        [-8.26390445e-01, -4.69630271e-01,  2.04533935e+00, ...,
          5.15653431e-01,  2.43632182e-01, -1.62251699e+00],
        [ 5.27872264e-01, -1.27620474e-01, -1.01262045e+00, ...,
          5.81915319e-01, -5.13734855e-02,  2.40879703e+00],
        ...,
        [ 1.71166152e-01,  6.57070220e-01,  2.91130036e-01, ...,
         -1.15488613e+00, -8.89940381e-01,  1.75363526e-01],
        [-6.96413279e-01, -4.65654790e-01, -1.63748062e+00, ...,
         -5.68535984e-01, -1.06521201e+00,  3.78711134e-01],
        [ 1.07885051e+00, -1.30101517e-01, -1.00000286e+00, ...,
         -1.55380023e+00, -1.06865859e+00, -7.08211511e-02]],

       [[ 3.08802694e-01,  1.96652468e-02, -1.91635415e-01, ...,
          3.05857122e-01, -4.65448499e-01, -8.34496737e-01],
        [-1.98056257e+00, -1.29502285e+00,  6.56944096e-01, ...,
          9.13942993e-01,  5.12769699e-01,  8.17021370e-01],
        [-1.76118386e+00,  1.30452931e-01,  6.75121665e-01, ...,
          1.19128489e+00, -8.47295046e-01,  1.03119567e-01],
        ...,
        [-3.84459376e-01, -6.53606474e-01,  1.47732604e+00, ...,
         -3.02372634e-01, -1.93313643e-01,  2.75473744e-01],
        [-4.58580315e-01, -5.72308779e-01, -1.05473447e+00, ...,
          2.22857535e-01, -4.53278601e-01, -3.41009721e-03],
        [ 8.05483699e-01, -1.20524597e+00, -4.80362445e-01, ...,
          1.08130586e+00, -1.92315602e+00, -1.46308258e-01]],

       [[-1.36847389e+00, -9.45717871e-01, -1.76486802e+00, ...,
         -9.34135139e-01,  9.98242795e-01,  4.46378291e-01],
        [ 7.33589232e-01,  1.83396971e+00,  1.10008037e+00, ...,
          2.29717731e+00, -5.67294061e-01,  8.04831982e-01],
        [-1.29556522e-01,  1.72373235e+00,  9.27292466e-01, ...,
         -6.33156776e-01, -1.38633478e+00, -1.00665891e+00],
        ...,
        [-3.75819147e-01,  7.08726168e-01,  1.96726286e+00, ...,
         -1.78956687e+00, -1.84528351e-01, -1.52477133e+00],
        [ 1.16817462e+00,  6.60220623e-01,  4.59778875e-01, ...,
         -1.11830807e+00,  7.30343238e-02,  7.44483590e-01],
        [-2.68152088e-01, -1.26451659e+00, -5.31882405e-01, ...,
         -1.89616120e+00,  3.13458174e-01,  9.59683537e-01]]]]]

Outputs:
  y: shape=(1, 3, 31, 31, 31), dtype=float32
    [[[[[ 2.2643888 ,  2.2643888 ,  1.4404445 , ...,  1.857837  ,  1.4281431 ,
          1.4281431 ],
        [ 2.2643888 ,  2.2643888 ,  1.4661328 , ...,  1.7413752 ,  1.7413752 ,
          1.5148466 ],
        [ 1.2975368 ,  1.091016  ,  1.4661328 , ...,  1.7413752 ,  1.7413752 ,
          1.5148466 ],
        ...,
        [ 2.1092954 ,  2.1092954 ,  0.9558238 , ...,  1.1840135 ,  1.1840135 ,
          0.9991179 ],
        [ 1.2060804 ,  0.94308424,  0.9464094 , ...,  0.95838773,  0.95838773,
          0.9991179 ],
        [ 1.4783287 ,  1.3457816 ,  1.9389256 , ...,  0.95838773,  0.95838773,
          1.100571  ]],

       [[ 1.0337566 ,  1.4130224 ,  1.4130224 , ...,  1.857837  ,  0.94844496,
          0.62590563],
        [ 0.7046498 ,  0.93947   ,  0.93947   , ...,  1.7413752 ,  1.7413752 ,
          1.5148466 ],
        [ 1.2975368 ,  1.091016  ,  1.091016  , ...,  2.1402714 ,  2.1402714 ,
          1.5148466 ],
        ...,
        [ 1.2060804 ,  1.3027707 ,  1.3027707 , ...,  1.1840135 ,  1.4201722 ,
          1.4587176 ],
        [ 1.2981565 ,  1.3027707 ,  1.3027707 , ...,  0.90155756,  0.931877  ,
          0.9324575 ],
        [ 1.2981565 ,  1.2981565 ,  1.9389256 , ...,  0.2001556 ,  0.82909185,
          1.100571  ]],

       [[ 1.0337566 ,  0.92834085,  0.9439265 , ...,  1.5800407 ,  0.5704092 ,
          0.8307409 ],
        [ 1.5496696 ,  1.9130791 ,  1.9130791 , ...,  0.84626937,  0.84626937,
          2.1661894 ],
        [ 1.5496696 ,  1.9130791 ,  1.9130791 , ...,  2.1402714 ,  2.1402714 ,
          2.1661894 ],
        ...,
        [ 0.731316  ,  1.3027707 ,  1.3027707 , ...,  2.645296  ,  2.645296  ,
          1.627874  ],
        [ 1.2981565 ,  1.3027707 ,  1.3027707 , ...,  1.0807202 ,  1.627874  ,
          1.627874  ],
        [ 1.2981565 ,  1.3754557 ,  1.3754557 , ...,  1.702327  ,  1.0712453 ,
          1.0712453 ]],

       ...,

       [[ 1.8913344 ,  1.8913344 ,  0.85349554, ...,  0.8943561 ,  0.8943561 ,
          0.85480815],
        [ 1.3597214 ,  1.2749062 ,  1.8054022 , ...,  0.8943561 ,  1.1547107 ,
          1.1547107 ],
        [ 1.3827382 ,  1.2749062 ,  2.2877178 , ...,  1.664428  ,  1.7531593 ,
          1.7531593 ],
        ...,
        [ 1.80984   ,  1.80984   ,  1.5649424 , ...,  1.1782318 ,  2.6806948 ,
          2.6806948 ],
        [ 1.80984   ,  1.80984   ,  1.400795  , ...,  1.0620553 ,  1.0620553 ,
          1.432162  ],
        [ 0.49945185,  1.0080755 ,  1.589226  , ...,  1.0620553 ,  1.5230893 ,
          1.5230893 ]],

       [[ 1.8913344 ,  1.8913344 ,  0.85349554, ...,  1.0106921 ,  0.854938  ,
          0.74042475],
        [ 1.3597214 ,  1.2749062 ,  1.8054022 , ...,  1.0106921 ,  0.854938  ,
          0.4133916 ],
        [ 1.6619569 ,  1.2749062 ,  2.2877178 , ...,  0.32338285,  0.7889142 ,
          0.7889142 ],
        ...,
        [ 1.80984   ,  1.80984   ,  1.4559308 , ...,  0.22842145,  2.6806948 ,
          2.6806948 ],
        [ 1.80984   ,  1.80984   ,  1.400795  , ...,  0.61651176,  0.61651176,
          1.432162  ],
        [ 0.84200805,  0.84200805,  1.1108257 , ...,  0.61651176,  1.5230893 ,
          1.5230893 ]],

       [[ 1.3294063 ,  1.0764135 ,  1.0764135 , ...,  1.0106921 ,  1.2226932 ,
          1.2226932 ],
        [ 0.7334001 ,  1.0673513 ,  1.0673513 , ...,  1.0106921 ,  1.2226932 ,
          1.2226932 ],
        [ 1.6619569 ,  0.36720628,  0.9963088 , ...,  0.62517285,  1.641213  ,
          1.7417681 ],
        ...,
        [ 1.6157999 ,  1.6405098 ,  1.6405098 , ...,  0.22184828,  1.4780213 ,
          1.4780213 ],
        [ 1.6157999 ,  1.6405098 ,  1.6405098 , ...,  0.61651176,  2.0746849 ,
          2.0746849 ],
        [ 0.89054143,  0.89054143,  1.1108257 , ...,  1.2966306 ,  2.0746849 ,
          2.0746849 ]]],


      [[[ 1.5018036 ,  1.5018036 ,  1.752842  , ...,  0.90018785,  1.5167605 ,
          1.6711609 ],
        [ 0.78033555,  1.229148  ,  1.752842  , ...,  0.55999506,  1.5167605 ,
          2.2604854 ],
        [ 1.8235391 ,  1.8235391 ,  1.229148  , ...,  0.79506284,  1.9492043 ,
          2.2604854 ],
        ...,
        [ 1.1353444 ,  1.1353444 ,  2.6537857 , ...,  0.60344917,  1.9725119 ,
          1.9725119 ],
        [ 1.1353444 ,  1.1353444 ,  1.4576713 , ...,  1.6274679 ,  1.9725119 ,
          1.9725119 ],
        [ 2.1877458 ,  2.1877458 ,  2.8742273 , ...,  1.8854784 ,  1.6274679 ,
          1.5789901 ]],

       [[ 1.6844039 ,  1.6844039 ,  1.752842  , ...,  1.1497126 ,  1.3691764 ,
          1.3691764 ],
        [ 1.3143069 ,  0.9242961 ,  1.752842  , ...,  1.1497126 ,  1.1497126 ,
          1.2108219 ],
        [ 1.5590497 ,  2.7605534 ,  2.7605534 , ...,  1.6848644 ,  1.6848644 ,
          0.6311907 ],
        ...,
        [ 0.9771195 ,  0.9771195 ,  2.6537857 , ...,  1.2576034 ,  1.9725119 ,
          1.9725119 ],
        [ 0.9771195 ,  0.9771195 ,  1.5095084 , ...,  1.6274679 ,  1.9725119 ,
          1.9725119 ],
        [ 2.1877458 ,  2.1877458 ,  1.1284276 , ...,  1.6274679 ,  1.6274679 ,
          1.5789901 ]],

       [[ 2.1987302 ,  2.1987302 ,  1.6302876 , ...,  1.1497126 ,  1.3691764 ,
          1.3691764 ],
        [ 2.1987302 ,  2.1987302 ,  1.6302876 , ...,  1.5381677 ,  1.5381677 ,
          0.8221092 ],
        [ 1.3211532 ,  2.7605534 ,  2.7605534 , ...,  1.6848644 ,  1.6848644 ,
          0.96831477],
        ...,
        [ 0.9371784 ,  0.95033467,  1.5095084 , ...,  2.0047235 ,  2.0047235 ,
          1.4277469 ],
        [ 0.9371784 ,  0.93643224,  1.5095084 , ...,  1.2576034 ,  2.3716495 ,
          2.3716495 ],
        [ 0.6058246 ,  0.6058246 ,  0.48037177, ...,  0.9245038 ,  2.3716495 ,
          2.3716495 ]],

       ...,

       [[ 2.0265014 ,  1.9332768 ,  2.462978  , ...,  0.7766373 ,  1.0446376 ,
          1.0446376 ],
        [ 2.0265014 ,  1.0087891 ,  1.169401  , ...,  0.7766373 ,  1.0446376 ,
          1.0446376 ],
        [ 1.6402513 ,  1.6402513 ,  1.169401  , ...,  1.4929334 ,  1.4929334 ,
          1.3502203 ],
        ...,
        [ 1.0482082 ,  1.0482082 ,  0.9304752 , ...,  1.6130168 ,  2.0442784 ,
          2.0442784 ],
        [ 0.20641066,  0.54797024,  2.3809745 , ...,  2.225344  ,  2.0442784 ,
          2.0442784 ],
        [ 0.26604545,  1.114841  ,  2.3809745 , ...,  2.225344  ,  2.163498  ,
          2.0610054 ]],

       [[ 2.622464  ,  1.1649015 ,  2.138792  , ...,  1.3947921 ,  1.3947921 ,
          1.8405186 ],
        [ 2.622464  ,  1.2559731 ,  1.2559731 , ...,  1.3947921 ,  1.3947921 ,
          1.1181763 ],
        [ 0.9696703 ,  1.2559731 ,  2.2082675 , ...,  0.47264075,  1.1181763 ,
          1.1181763 ],
        ...,
        [-0.01393899,  0.9304752 ,  0.9304752 , ...,  1.6130168 ,  2.0442784 ,
          2.0442784 ],
        [-0.02178051,  0.0447933 ,  0.60690826, ...,  0.86603487,  2.0442784 ,
          2.0442784 ],
        [ 0.3363919 ,  2.404744  ,  2.404744  , ...,  0.6662054 ,  1.6289471 ,
          1.6289471 ]],

       [[ 2.622464  ,  0.84621596,  2.138792  , ...,  1.3947921 ,  1.4504769 ,
          1.8405186 ],
        [ 2.622464  ,  1.2559731 ,  1.2559731 , ...,  1.3947921 ,  1.3947921 ,
          1.1181763 ],
        [ 0.9000435 ,  1.2559731 ,  2.2082675 , ...,  0.5679419 ,  1.1181763 ,
          2.0209923 ],
        ...,
        [ 1.6630712 ,  2.024127  ,  2.024127  , ...,  1.4794993 ,  2.369678  ,
          2.369678  ],
        [ 1.5401303 ,  1.3351057 ,  1.3351057 , ...,  1.8678246 ,  1.7607931 ,
          1.7607931 ],
        [ 0.65954745,  2.404744  ,  2.404744  , ...,  1.8678246 ,  1.7289658 ,
          1.7289658 ]]],


      [[[ 0.3672429 ,  1.145823  ,  1.145823  , ...,  0.74510896,  1.2055135 ,
          1.2055135 ],
        [ 1.015606  ,  1.145823  ,  1.145823  , ...,  0.53327227,  1.2055135 ,
          1.2055135 ],
        [ 1.015606  ,  2.5989423 ,  2.5989423 , ...,  0.08204536,  1.2632552 ,
          1.2632552 ],
        ...,
        [ 1.7681744 ,  2.19668   ,  2.19668   , ...,  1.1642332 ,  0.9737389 ,
          1.6809301 ],
        [ 0.79274213,  2.7640135 ,  2.7640135 , ...,  0.91778344,  0.9737389 ,
          1.6809301 ],
        [ 1.0873964 ,  2.7640135 ,  2.7640135 , ...,  1.1849186 ,  1.1849186 ,
          0.7929364 ]],

       [[ 1.1345259 ,  1.6324024 ,  1.6324024 , ...,  0.74510896,  0.74510896,
          0.63873374],
        [ 1.1345259 ,  1.6324024 ,  1.6324024 , ...,  0.62834346,  0.63873374,
          1.8456063 ],
        [ 1.015606  ,  2.5989423 ,  2.5989423 , ...,  1.3610201 ,  0.97634953,
          1.8456063 ],
        ...,
        [ 0.8641012 ,  2.19668   ,  2.19668   , ...,  1.266858  ,  1.1051098 ,
          1.3466933 ],
        [ 0.79274213,  2.7640135 ,  2.7640135 , ...,  1.266858  ,  0.9737389 ,
          0.9737389 ],
        [ 2.0349064 ,  2.7640135 ,  2.7640135 , ...,  1.1849186 ,  1.1849186 ,
          1.0152997 ]],

       [[ 1.2721406 ,  1.6324024 ,  1.6324024 , ...,  0.62834346,  0.63873374,
          1.1055317 ],
        [ 1.2721406 ,  1.6324024 ,  1.6324024 , ...,  0.62834346,  0.63873374,
          1.8456063 ],
        [ 0.6753273 ,  1.1256392 ,  1.1256392 , ...,  1.3610201 ,  1.0538414 ,
          1.8456063 ],
        ...,
        [ 1.980241  ,  1.980241  ,  1.2148615 , ...,  1.266858  ,  1.1854041 ,
          1.3466933 ],
        [ 0.35234722,  0.6561717 ,  1.2148615 , ...,  1.266858  ,  1.1854041 ,
          0.6871672 ],
        [ 2.0349064 ,  0.6561717 ,  1.0888364 , ...,  0.7725165 ,  1.0152997 ,
          1.0152997 ]],

       ...,

       [[ 0.28102016,  2.0453393 ,  2.0453393 , ...,  0.86815816,  0.86815816,
          1.051746  ],
        [ 0.52787226,  2.0453393 ,  2.0453393 , ...,  0.86815816,  0.86815816,
          2.408797  ],
        [ 0.5311539 ,  1.3474597 ,  1.3474597 , ...,  1.8374807 ,  0.9214508 ,
          2.408797  ],
        ...,
        [ 1.055949  ,  1.055949  ,  1.3103927 , ...,  0.53990614,  0.8648005 ,
          1.50188   ],
        [ 1.0894107 ,  0.8720499 ,  1.43845   , ...,  0.9357233 ,  1.057637  ,
          1.057637  ],
        [ 1.0894107 ,  0.3820292 ,  1.43845   , ...,  0.9357233 ,  1.057637  ,
          1.057637  ]],

       [[ 0.3088027 ,  2.0453393 ,  2.0453393 , ...,  0.913943  ,  0.913943  ,
          0.81702137],
        [ 0.52787226,  2.0453393 ,  2.0453393 , ...,  1.1912849 ,  1.1912849 ,
          2.408797  ],
        [ 0.5311539 ,  2.3257537 ,  2.3257537 , ...,  1.1912849 ,  1.1912849 ,
          2.408797  ],
        ...,
        [ 0.6570702 ,  1.8898098 ,  1.8898098 , ...,  1.0612979 ,  0.5391777 ,
          1.50188   ],
        [ 0.6570702 ,  1.477326  ,  1.477326  , ...,  1.6373318 ,  0.22285753,
          0.37871113],
        [ 1.0788505 , -0.13010152,  0.65914124, ...,  1.6373318 ,  1.0813059 ,
          0.37871113]],

       [[ 1.8339697 ,  1.8339697 ,  1.3693745 , ...,  2.2971773 ,  2.2971773 ,
          0.9982428 ],
        [ 1.8339697 ,  1.8339697 ,  1.3693745 , ...,  2.2971773 ,  2.2971773 ,
          0.81702137],
        [ 1.7237324 ,  2.3257537 ,  2.3257537 , ...,  1.1912849 ,  1.1912849 ,
          1.678548  ],
        ...,
        [ 0.70872617,  1.9672629 ,  1.9672629 , ...,  1.5209901 ,  1.5209901 ,
          0.5391777 ],
        [ 1.1681746 ,  1.9672629 ,  1.9672629 , ...,  1.6373318 ,  0.22285753,
          0.7444836 ],
        [ 1.1681746 ,  0.6602206 ,  1.1940988 , ...,  1.6373318 ,  1.0813059 ,
          0.95968354]]]]]

test_cc_maxpool_3d_dilations

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2, 2, 2]
    strides = [1, 1, 1]
    dilations = [2, 2, 2]
Inputs:
  x: shape=(1, 1, 4, 4, 4), dtype=float32
    [[[[[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.],
        [13., 14., 15., 16.]],

       [[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.],
        [13., 14., 15., 16.]],

       [[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.],
        [13., 14., 15., 16.]],

       [[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.],
        [13., 14., 15., 16.]]]]]

Outputs:
  y: shape=(1, 1, 2, 2, 2), dtype=float32
    [[[[[11., 12.],
        [15., 16.]],

       [[11., 12.],
        [15., 16.]]]]]

test_cc_maxpool_3d_dilations_use_ref_impl

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [2, 2, 2]
    strides = [1, 1, 1]
    dilations = [2, 2, 2]
Inputs:
  x: shape=(1, 1, 4, 4, 4), dtype=float32
    [[[[[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.],
        [13., 14., 15., 16.]],

       [[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.],
        [13., 14., 15., 16.]],

       [[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.],
        [13., 14., 15., 16.]],

       [[ 1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.],
        [ 9., 10., 11., 12.],
        [13., 14., 15., 16.]]]]]

Outputs:
  y: shape=(1, 1, 2, 2, 2), dtype=float32
    [[[[[11., 12.],
        [15., 16.]],

       [[11., 12.],
        [15., 16.]]]]]

test_cc_maxpool_3d_dilations_use_ref_impl_large

Node:
  MaxPool(x) -> (y)
  Attributes:
    kernel_shape = [5, 5, 5]
    strides = [3, 3, 3]
    dilations = [2, 2, 2]
    ceil_mode = 1
Inputs:
  x: shape=(1, 1, 32, 32, 32), dtype=float32
    [[[[[ 8.7459564e-02, -1.0263144e+00, -3.5410684e-01, ..., -7.7455252e-01,
         -5.8079177e-01,  1.8802767e+00],
        [ 1.8129075e+00,  2.2148694e-01, -1.5326340e+00, ..., -4.8910671e-01,
         -1.8447063e+00, -1.2647265e-01],
        [ 1.4457804e+00, -1.0492604e+00, -6.3120377e-01, ..., -5.2551591e-01,
          7.7952141e-01,  8.4283924e-01],
        ...,
        [ 6.0156316e-01, -3.6622256e-01, -2.0270469e+00, ..., -1.4480622e-02,
          2.5809994e+00, -1.6124401e+00],
        [ 1.2292221e+00, -2.1758281e-01,  3.4237519e-02, ...,  9.9095315e-01,
         -9.5966804e-01, -3.6424690e-01],
        [ 6.3660342e-01,  7.5690144e-01, -4.6278861e-01, ...,  3.3909503e-01,
          5.0477862e-01,  2.7368531e-01]],

       [[-9.6425647e-01,  1.6459702e+00,  5.0930381e-01, ..., -9.9572396e-01,
         -1.6841196e+00, -5.6292194e-01],
        [-7.2716391e-01,  8.9675641e-01,  2.0371976e+00, ..., -4.8796031e-01,
          1.0313048e-01,  1.7124022e+00],
        [-5.9225202e-01, -1.8641265e-01,  3.2175905e-01, ..., -7.9837739e-01,
         -5.8940017e-01,  3.6220029e-01],
        ...,
        [-1.8685957e+00, -1.0887899e+00,  1.0695835e+00, ...,  6.0569060e-01,
         -6.5330040e-01,  2.3215026e-01],
        [-1.1948028e+00,  1.7643925e+00, -1.1333588e+00, ..., -1.0677236e+00,
         -2.5243106e-01,  1.3411565e-02],
        [-5.3108168e-01, -1.8132049e+00,  1.7942990e+00, ..., -1.0876175e+00,
          1.4635247e+00,  1.8632878e-01]],

       [[ 4.3952838e-01, -6.3612258e-01,  9.0210003e-01, ..., -2.2321275e-02,
         -1.0363948e+00,  4.9187225e-01],
        [ 1.0983702e+00,  1.4225014e+00,  3.6089134e-01, ..., -3.8573760e-01,
          8.4698540e-01,  3.6440752e-02],
        [ 1.2153684e+00, -1.0642326e-01, -4.6856827e-01, ...,  1.4043345e+00,
         -4.4574329e-01,  1.0985557e+00],
        ...,
        [ 2.1728940e+00, -3.7383132e+00, -7.4027908e-01, ...,  1.2002645e+00,
          5.7986921e-01,  1.1436779e+00],
        [-9.8623943e-01, -4.4793252e-02, -3.2166812e-01, ...,  2.0621817e+00,
         -1.2609957e+00,  1.1094031e+00],
        [ 1.4778209e+00,  1.3309511e+00,  1.5205897e-01, ...,  1.4757528e+00,
          5.4157943e-02, -6.4109516e-01]],

       ...,

       [[ 5.4502410e-01,  1.0687856e-01, -1.0831670e+00, ...,  1.3139565e-01,
         -1.1229311e-01, -4.7330126e-01],
        [ 8.5525477e-01,  2.5418770e-01,  6.4746803e-01, ..., -1.3227241e+00,
         -7.6211756e-01, -1.6764315e+00],
        [-1.0000737e+00, -2.1520606e-01,  5.5469662e-01, ...,  1.7356470e-01,
         -1.9910865e+00, -2.9410103e-01],
        ...,
        [ 7.2966474e-01,  3.4179345e-01,  9.6092874e-01, ...,  2.1511211e+00,
         -1.8130805e+00,  2.2884333e+00],
        [-7.1064091e-01,  1.7742530e+00,  1.6543227e+00, ...,  2.4409039e-01,
         -3.6765242e-01, -1.4990361e-01],
        [-6.4828366e-01, -6.4855236e-01,  1.9811976e-01, ...,  3.8446599e-01,
          1.2304937e+00,  4.8542282e-01]],

       [[ 2.4179959e+00, -1.2624004e+00,  6.7706627e-01, ..., -1.2940636e+00,
         -1.0157510e+00,  5.9408975e-01],
        [ 2.2473235e+00,  1.0522015e+00,  2.2963278e-01, ...,  8.8172805e-01,
         -2.9949937e+00,  4.2443797e-01],
        [ 7.8000987e-01,  2.5932355e+00,  4.2568761e-01, ...,  3.0514356e-01,
         -3.2189068e-01, -7.5219947e-01],
        ...,
        [-1.1368123e+00,  2.1648838e-01,  3.5805860e-01, ..., -5.5025053e-01,
          2.8401077e-01, -3.1899822e-01],
        [-1.5382248e+00,  1.9204503e-01, -3.4077194e-01, ...,  1.5900403e-01,
         -2.1236297e-02,  4.9763271e-01],
        [ 4.3001056e-01, -2.9568160e-02, -2.7810179e-02, ..., -9.7752440e-01,
         -3.6244780e-01,  4.7408739e-01]],

       [[-1.8248802e+00, -3.3506620e-01,  9.0314281e-01, ..., -1.7791276e+00,
          3.6667392e-01,  2.3913095e+00],
        [-6.2601811e-01, -2.0036132e+00, -1.5448477e+00, ...,  9.1125125e-01,
         -1.5709604e+00, -1.2077307e+00],
        [-7.0861572e-01,  3.5310826e-01,  3.6400023e-01, ...,  1.7037770e-01,
         -1.0934834e+00,  5.4476517e-01],
        ...,
        [-1.2815882e+00,  1.8840252e+00, -6.6340703e-01, ...,  1.2299289e+00,
         -1.1261565e-01,  1.6020918e-01],
        [-1.3930372e+00, -1.9196249e-03,  1.5064818e+00, ..., -1.5415200e+00,
         -1.3025463e+00, -8.0781108e-01],
        [-6.7951220e-01, -8.0870640e-01, -2.4995191e-01, ...,  5.0031036e-01,
          3.4005579e-01,  5.1354825e-01]]]]]

Outputs:
  y: shape=(1, 1, 9, 9, 9), dtype=float32
    [[[[[3.0177422, 2.2242174, 3.0177422, ..., 3.0205638, 3.1315432, 2.240355 ],
        [2.651844 , 2.816678 , 2.651844 , ..., 2.4511187, 2.3213427, 2.2070115],
        [3.0177422, 2.4672623, 3.0177422, ..., 2.240355 , 2.2454276, 2.3842025],
        ...,
        [2.3356216, 2.5742755, 2.3356216, ..., 2.7251403, 2.1430671, 2.7251403],
        [2.3041968, 2.4302742, 2.6217864, ..., 2.8291256, 2.4941905, 2.8291256],
        [2.3682702, 1.8801982, 3.1067255, ..., 2.261628 , 2.269195 , 2.261628 ]],

       [[2.6108205, 2.3304682, 2.6108205, ..., 2.1414526, 2.0722923, 1.7671456],
        [2.640571 , 2.2243464, 2.4523845, ..., 2.9618564, 1.6337488, 1.9018779],
        [2.1152716, 2.1644413, 2.614102 , ..., 2.550999 , 2.9133265, 2.7624164],
        ...,
        [2.277211 , 2.4653463, 2.9563463, ..., 2.474082 , 2.5526292, 2.474082 ],
        [2.5960257, 2.813946 , 2.5960257, ..., 2.4251878, 2.3032126, 2.305785 ],
        [1.7079864, 2.4653463, 2.9563463, ..., 2.4344695, 2.5526292, 2.082532 ]],

       [[3.2513423, 2.1160176, 2.6066563, ..., 2.1801991, 3.1315432, 1.9276354],
        [2.2743824, 2.1189005, 2.5593247, ..., 2.4511187, 2.4110422, 2.9384923],
        [3.2513423, 2.4672623, 2.7845278, ..., 2.1191025, 2.5506787, 2.3842025],
        ...,
        [2.5122125, 2.5742755, 2.3841221, ..., 2.645861 , 2.7087057, 3.0672069],
        [3.1402223, 2.4302742, 2.6217864, ..., 2.8291256, 2.0521412, 2.8291256],
        [2.4581072, 2.1206183, 2.3841221, ..., 2.1096907, 3.3371315, 2.1610289]],

       ...,

       [[2.8569474, 2.5277426, 2.8569474, ..., 2.2075884, 2.5099878, 2.6790717],
        [1.9410949, 2.2777388, 2.119297 , ..., 2.4070323, 2.7260265, 2.3301706],
        [2.524199 , 2.0965314, 2.3823323, ..., 2.1263428, 2.231978 , 2.363637 ],
        ...,
        [2.1612124, 2.4198315, 2.2954483, ..., 2.66016  , 2.4887848, 2.954034 ],
        [2.2301402, 2.2132573, 2.2301402, ..., 2.3875737, 3.0591972, 2.158049 ],
        [2.1612124, 1.9631307, 2.2529469, ..., 2.708658 , 2.9424403, 1.9919956]],

       [[2.1365106, 3.014858 , 2.2798378, ..., 2.3643641, 2.7484808, 2.3454323],
        [2.5414975, 2.5989904, 2.5414975, ..., 2.8897567, 2.0405486, 2.8897567],
        [3.1466694, 2.0410573, 2.1955502, ..., 2.3454323, 2.7484808, 2.3454323],
        ...,
        [2.901378 , 2.4169526, 2.901378 , ..., 2.6721308, 2.9862993, 2.6721308],
        [3.8626926, 3.4997075, 3.8626926, ..., 2.203427 , 2.6992562, 2.710275 ],
        [2.901378 , 2.2801628, 2.901378 , ..., 1.8062114, 2.8386738, 1.8440744]],

       [[2.8569474, 2.5277426, 2.8569474, ..., 1.5114524, 2.6069512, 2.6790717],
        [2.0174243, 2.2777388, 1.9559848, ..., 2.0399752, 2.223575 , 2.1982212],
        [2.6743724, 2.0965314, 2.3823323, ..., 2.159414 , 2.6069512, 1.9478804],
        ...,
        [2.1612124, 2.3823743, 2.2954483, ..., 1.9959853, 2.339207 , 2.332883 ],
        [2.4009655, 2.0458682, 2.0824583, ..., 2.4952457, 3.1407986, 2.4952457],
        [2.1612124, 1.9631307, 2.2529469, ..., 1.9964098, 2.4163568, 1.9919956]]]]]

test_cc_maxpool_with_argmax_2d_precomputed_pads

Node:
  MaxPool(x) -> (y, z)
  Attributes:
    kernel_shape = [5, 5]
    pads = [2, 2, 2, 2]
Inputs:
  x: shape=(1, 1, 5, 5), dtype=float32
    [[[[ 1.,  2.,  3.,  4.,  5.],
       [ 6.,  7.,  8.,  9., 10.],
       [11., 12., 13., 14., 15.],
       [16., 17., 18., 19., 20.],
       [21., 22., 23., 24., 25.]]]]

Outputs:
  y: shape=(1, 1, 5, 5), dtype=float32
    [[[[13., 14., 15., 15., 15.],
       [18., 19., 20., 20., 20.],
       [23., 24., 25., 25., 25.],
       [23., 24., 25., 25., 25.],
       [23., 24., 25., 25., 25.]]]]
  z: shape=(1, 1, 5, 5), dtype=int64
    [[[[12, 13, 14, 14, 14],
       [17, 18, 19, 19, 19],
       [22, 23, 24, 24, 24],
       [22, 23, 24, 24, 24],
       [22, 23, 24, 24, 24]]]]

test_cc_maxpool_with_argmax_2d_precomputed_strides

Node:
  MaxPool(x) -> (y, z)
  Attributes:
    kernel_shape = [2, 2]
    strides = [2, 2]
    storage_order = 1
Inputs:
  x: shape=(1, 1, 5, 5), dtype=float32
    [[[[ 1.,  2.,  3.,  4.,  5.],
       [ 6.,  7.,  8.,  9., 10.],
       [11., 12., 13., 14., 15.],
       [16., 17., 18., 19., 20.],
       [21., 22., 23., 24., 25.]]]]

Outputs:
  y: shape=(1, 1, 2, 2), dtype=float32
    [[[[ 7.,  9.],
       [17., 19.]]]]
  z: shape=(1, 1, 2, 2), dtype=int64
    [[[[ 6, 16],
       [ 8, 18]]]]

Differences with previous version (12)#

SchemaDiff: MaxPool (domain 'ai.onnx')

  • old version: 12

  • new version: 22

  • breaking: no

Type constraints:

  • changed ‘T’: added types: [‘tensor(bfloat16)’]

Documentation:

  • line similarity: 0.97 (+1/-1 lines)

--- MaxPool v12
+++ MaxPool v22
@@ -13,7 +13,7 @@
  ```
  output_spatial_shape[i] = ceil((input_spatial_shape[i] + pad_shape[i] - dilation[i] * (kernel_shape[i] - 1) - 1) / strides_spatial_shape[i] + 1)
  ```
- if ceil_mode is enabled. `pad_shape[i]` is the sum of pads along axis `i`.
+ if ceil_mode is enabled. `pad_shape[i]` is the sum of pads along axis `i`. Sliding windows that would start in the right padded region are ignored.

  `auto_pad` is a DEPRECATED attribute. If you are using them currently, the output spatial shape will be following when ceil_mode is enabled:
  ```

Version History#