README.md

UpsampleNearestExact3dGrad

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:UpsampleNearestExact3d的反向计算。

  • 计算公式:

    对于输入gradOut(N, C, d, h, w),输出gradInput上任意一点(N, C, D, H, W),则有:

    gradInput(N,C,D,H,W)=∑d=srcDsrcDUp−1∑h=srcHsrcHUp−1∑w=srcWsrcWUp−1gradOut(N,C,d,h,w)gradInput(N, C, D, H, W) = \sum_{d = srcD}^{srcDUp - 1}\sum_{h = srcH}^{srcHUp - 1}\sum_{w = srcW}^{srcWUp - 1}gradOut(N, C, d, h, w)

    其中:

    scalesD=inputSize[2]/outputSize[0]scalesD = inputSize[2]/outputSize[0]

    scalesH=inputSize[3]/outputSize[1]scalesH = inputSize[3]/outputSize[1]

    scalesW=inputSize[4]/outputSize[2]scalesW = inputSize[4]/outputSize[2]

    srcD=Min(scalesD∗D−0.5,outputSize[0])srcD = Min(scalesD * D - 0.5, outputSize[0])

    srcDUp=Min(scalesD∗(D+1)−0.5,outputSize[0])srcDUp = Min(scalesD * (D + 1) -0.5, outputSize[0])

    srcH=Min(scalesH∗H−0.5,outputSize[1])srcH = Min(scalesH * H - 0.5, outputSize[1])

    srcHUp=Min(scalesH∗(H+1)−0.5,outputSize[1])srcHUp = Min(scalesH * (H + 1) -0.5, outputSize[1])

    srcW=Min(scalesW∗W−0.5,outputSize[2])srcW = Min(scalesW * W - 0.5, outputSize[2])

    srcHUp=Min(scalesW∗(W+1)−0.5,outputSize[2])srcHUp = Min(scalesW * (W + 1) -0.5, outputSize[2])

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
grad_output 输入 表示反向计算的梯度Tensor,对应公式中的输入`gradOutput`。 FLOAT32、FLOAT16、BFLOAT16 NCDHW
input_size 属性 表示输出`y`分别在N、C、D、H和W维度上的空间大小。size为5,且各元素均大于零。必须满足:input_size[0] == grad_output_tensor_size[0];input_size[1] == grad_output_tensor_size[1]。 LISTINT -
output_size 可选属性
  • 表示输入`grad_output`在D、H和W维度上的空间大小。size为3,且各元素均大于零。必须满足:grad_output_tensor_size[2] == floor(input_size[2] * scales[0]) == output_size[0];grad_output_tensor_size[3] == floor(input_size[3] * scales[1]) == output_size[1];grad_output_tensor_size[4] == floor(input_size[4] * scales[2]) == output_size[2]。
  • 默认值为{0, 0, 0}。
LISTINT -
scales 可选属性
  • 指定沿每个维度的缩放数组,包含3个元素:scales_depth, scales_height, scales_width,对应公式中的`scales_d`、`scales_h`、`scales_w`。
  • 默认值为{0.0f, 0.0f, 0.0f}。
LISTFLOAT -
y 输出 表示反向计算的输出张量,对应公式中的`gradInput`。数据类型和数据格式与入参`grad_output`的数据类型和数据格式保持一致。shape取决于输入`input_size`。 FLOAT32、FLOAT16、BFLOAT16 NCDHW

约束说明

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_upsample_nearest_exact3d_grad 通过aclnnUpsampleNearestExact3dBackward接口方式调用UpsampleNearestExact3dGrad算子。
图模式 - 通过算子IR构图方式调用UpsampleNearestExact3dGrad算子。