昇腾社区首页
中文
注册
开发者
下载

aclnnMaxPool2dWithIndices

产品支持情况

[object Object]undefined

功能说明

  • 接口功能:

    • 对于输入信号的输入通道,提供2维(H,W维度)最大池化(max pooling)操作,输出池化后的值out和索引indices。
    • 输入dims的描述:N - 批次,C - 通道,D - 深度,W - 宽度,H - 高度。
  • 计算公式:

    • output tensor中每个元素的计算公式:

      out(Nj,Cj,h,w)=maxm[0,kH1],n[0,kW1]input(Ni,Cj,stride[0]×h+m,stride[1]×w+n)out(N_j, C_j, h, w) = \max\limits_{{m\in[0,k_{H}-1],n\in[0,k_{W}-1]}}input(N_i,C_j,stride[0]\times h + m, stride[1]\times w + n)
    • out tensor的shape推导公式,indices tensor的shape和out tensor相同:

      [N,C,Hout,Wout]=[N,C,Hin+2×padding[0]dilation[0]×(kernelSize[0]1)1stride[0]+1,Win+2×padding[1]dilation[1]×(kernelSize[1]1)1stride[1]+1][N, C, H_{out}, W_{out}]=[N,C,\lfloor{\frac{H_{in}+2 \times {padding[0] - dilation[0] \times(kernelSize[0] - 1) - 1}}{stride[0]}}\rfloor + 1,\lfloor{\frac{W_{in}+2 \times {padding[1] - dilation[1] \times(kernelSize[1] - 1) - 1}}{stride[1]}}\rfloor + 1]

函数原型

每个算子分为,必须先调用“aclnnMaxPool2dWithIndicesGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMaxPool2dWithIndices”接口执行计算。

[object Object]
[object Object]

aclnnMaxPool2dWithIndicesGetWorkspaceSize

  • 参数说明:

    [object Object]
  • [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:不支持NHWC,dilation中的元素值仅支持1。

  • 返回值:

    aclnnStatus: 返回状态码,具体参见

    第一段接口完成入参校验,出现以下场景时报错:

    [object Object]

aclnnMaxPool2dWithIndices

  • 参数说明:

    [object Object]
  • 返回值:

    aclnnStatus:返回状态码,具体参见

约束说明

  • 确定性计算:

    • aclnnMaxPool2dWithIndices默认确定性实现。
  • [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:

    • 输入数据暂不支持NaN、-Inf。
    • 当ceilMode为True的时候,如果滑动窗口全部在右侧padding区域上,这个输出结果将被忽略。

调用示例

示例代码如下,仅供参考,具体编译和执行过程请参考

[object Object]