| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 18 天前 | ||
| 30 天前 | ||
| 6 个月前 | ||
| 1 个月前 |
MaxPool3DWithArgmaxV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
| Kirin X90 处理器系列产品 | √ |
| Kirin 9030 处理器系列产品 | √ |
功能说明
-
算子功能:对于输入信号的输入通道,提供3维最大池化(Max pooling)操作,输出池化后的值y和索引argmax。
-
计算公式:
-
y tensor中每个元素的计算公式:
out(Ni,Cj,d,h,w)=maxk∈[0,kD−1],m∈[0,kH−1],n∈[0,kW−1]input(Ni,Cj,stride[0]×d+k,stride[1]×h+m,stride[2]×w+n)out(N_i, C_j, d, h, w) = \max\limits_{{k\in[0,k_{D}-1],m\in[0,k_{H}-1],n\in[0,k_{W}-1]}}input(N_i,C_j,stride[0]\times d + k, stride[1]\times h + m, stride[2]\times w + n)
-
out tensor的shape推导公式(默认ceilMode=false,即向下取整):
[N,C,Dout,Hout,Wout]=[N,C,⌊Din+2×padding[0]−dilation[0]×(kernelSize[0]−1)−1stride[0]⌋+1,⌊Hin+2×padding[1]−dilation[1]×(kernelSize[1]−1)−1stride[1]⌋+1,⌊Win+2×padding[2]−dilation[2]×(kernelSize[2]−1)−1stride[2]⌋+1][N, C, D_{out}, H_{out}, W_{out}]=[N,C,\lfloor{\frac{D_{in}+2 \times {padding[0] - dilation[0] \times(kernelSize[0] - 1) - 1}}{stride[0]}}\rfloor + 1,\lfloor{\frac{H_{in}+2 \times {padding[1] - dilation[1] \times(kernelSize[1] - 1) - 1}}{stride[1]}}\rfloor + 1, \lfloor{\frac{W_{in}+2 \times {padding[2] - dilation[2] \times(kernelSize[2] - 1) - 1}}{stride[2]}}\rfloor + 1]
-
out tensor的shape推导公式(默认ceilMode=true,即向上取整):
[N,C,Dout,Hout,Wout]=[N,C,⌈Din+2×padding[0]−dilation[0]×(kernelSize[0]−1)−1stride[0]⌉+1,⌈Hin+2×padding[1]−dilation[1]×(kernelSize[1]−1)−1stride[1]⌉+1,⌈Win+2×padding[2]−dilation[2]×(kernelSize[2]−1)−1stride[2]⌉+1][N, C, D_{out}, H_{out}, W_{out}]=[N,C,\lceil{\frac{D_{in}+2 \times {padding[0] - dilation[0] \times(kernelSize[0] - 1) - 1}}{stride[0]}}\rceil + 1,\lceil{\frac{H_{in}+2 \times {padding[1] - dilation[1] \times(kernelSize[1] - 1) - 1}}{stride[1]}}\rceil + 1, \lceil{\frac{W_{in}+2 \times {padding[2] - dilation[2] \times(kernelSize[2] - 1) - 1}}{stride[2]}}\rceil + 1]
-
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 待进行MaxPool3DWithArgmaxV2计算的入参。 | FLOAT、FLOAT16、BFLOAT16 | NCDHW、NDHWC |
| ksize | 属性 | 表示最大池化的窗口大小。 | INT64 | - |
| strides | 属性 | 表示窗口移动的步长。 | INT64 | - |
| pads | 属性 | 表示每一条边补充的层数,补充的位置填写“负无穷”。 | INT64 | - |
| dilation | 可选属性 | 表示控制窗口中元素的步幅。 | INT64 | - |
| ceil_mode | 可选属性 | 为True时表示计算输出形状时用向上取整的方法,为False时则表示向下取整。 | BOOL | - |
| data_format | 可选属性 | 输入数据格式,支持"NCDHW"和"NDHWC"。 | STRING | - |
| y | 输出 | 表示池化后的结果。数据类型、数据格式需要与`x`一致。 | FLOAT、FLOAT16、BFLOAT16 | NCDHW、NDHWC |
| argmax | 输出 | 最大值的索引位置组成的Tensor。shape需要与`y`一致。 | INT32、INT64 | NCDHW、NDHWC |
- Atlas A3 训练系列产品/Atlas A3 推理系列产品、Atlas A2 训练系列产品/Atlas A2 推理系列产品:
argmax数据类型不支持INT64。输入数据排布不支持NDHWC。 - Kirin X90/Kirin 9030 处理器系列产品: 输入/输出不支持BFLOAT16;
argmax数据类型不支持INT64。
约束说明
无。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_max_pool3d_with_argmax.cpp | 通过aclnnMaxPool3dWithArgmax接口方式调用MaxPool3DWithArgmaxV2算子。 |