README.md

UpsampleNearest3dGrad

产品支持情况

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

功能说明

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

  • 计算公式:

    对于输入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,outputSize[0])srcD = Min(scalesD * D, outputSize[0])

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

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

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

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

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

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
grad_output 输入 表示反向计算的梯度Tensor,对应公式中的`gradOutput`。 FLOAT32、FLOAT16、BFLOAT16 NCDHW
input_size 属性 表示输出`grad_input`分别在N、C、D、H和W维度上的空间大小。包含5个元素:[min_batch, channels, depth, height, width]。必须满足: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,且各元素均大于零。包含3个元素:[depth, height, width]。只能指定'scales'和'output_size'中的一个。必须满足: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]。
  • 默认为空。
LISTINT -
scales 可选属性
  • 指定沿每个维度的缩放数组,包含3个元素:scale_depth, scale_height, scale_width。对应公式中的`scales_d`、`scales_h`、`scales_w`。
  • 默认为空。
FLOAT32 -
y 输出 表示反向计算的输出张量,对应公式中的`gradInput`。数据类型和数据格式与入参`grad_output`的数据类型和数据格式保持一致。shape取决于输入`input_size`。 FLOAT32、FLOAT16、BFLOAT16 NCDHW

约束说明

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_upsample_nearest3d_grad 通过aclnnUpsampleNearest3dBackward接口方式调用UpsampleNearest3dGrad算子。
图模式 - 通过算子IR构图方式调用UpsampleNearest3dGrad算子。