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

aclnnUpsampleNearest3dBackward

产品支持情况

[object Object]undefined

功能说明

  • 接口功能:的反向计算。
  • 计算公式:gradInput(N,C,D,H,W)+=gradOut(N,C,ceil(scalesDD),ceil(scalesHH),ceil(scalesWW))gradInput(N, C, D, H, W) += gradOut( N, C, ceil ( scalesD * D ), ceil ( scalesH * H ), ceil ( scalesW * W ))

函数原型

每个算子分为,必须先调用[object Object]接口获取入参并根据计算流程计算所需workspace大小,再调用[object Object]接口执行计算。

[object Object]
[object Object]

aclnnUpsampleNearest3dBackwardGetWorkspaceSize

  • 参数说明

    [object Object]
  • 返回值:

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

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

    [object Object]

aclnnUpsampleNearest3dBackward

  • 参数说明

    [object Object]
  • 返回值:

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

约束说明

  • 参数[object Object][object Object]的shape约束:
    • 每个维度的取值小于等于2^20。
    • 参数[object Object]的N轴和C轴与[object Object]保持一致。
    • 内存占用需小于60G。内存占用的计算公式如下:NC(gradOut_DgradOut_HgradOut_W+gradInput_DgradInput_HgradInput_W+gradOut_DgradOut_HgradInput_W+gradOut_DgradInput_HgradInput_W)sizeof(float)<60102410241024N * C * (gradOut\_D * gradOut\_H * gradOut\_W + gradInput\_D * gradInput\_H * gradInput\_W + gradOut\_D * gradOut\_H * gradInput\_W + gradOut\_D * gradInput\_H * gradInput\_W) * sizeof(float) < 60 * 1024 * 1024 * 1024 其中:
      • N代表输入和输出的N轴。
      • C代表输入和输出的C轴。
    • N * C * gradOut_D * gradOut_H < 2^31
    • gradInput_W * gradInput_H < 2^31
  • 参数gradOut、gradInput的数据格式不为NCDHW或NDHWC时,输入其他数据格式默认按NCDHW处理。
  • 参数outputSize与参数scalesD、scalesH、scalesW,在使用时二选一,即:
    • 当入参scalesD、scalesH、scalesW,其中一个参数的值小于等于0时,使用入参outputSize的参数值。
    • 当入参scalesD、scalesH、scalesW的值都大于0时,使用入参scalesD、scalesH、scalesW的参数值,且outputSize=[floor(inputSize_DscalesD)floor(inputSize_HscalesH)floor(inputSize_WscalesW)]outputSize=[floor(inputSize\_D * scalesD),floor(inputSize\_H * scalesH),floor(inputSize\_W * scalesW)]
  • 确定性计算:
    • aclnnUpsampleNearest3dBackward默认非确定性实现,支持通过aclrtCtxSetSysParamOpt开启确定性。

调用示例

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

[object Object]