三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

CANN/ops-cv:上采样最近邻3D梯度算子

CANN/ops-cv:上采样最近邻3D梯度算子

UpsampleNearest3dGrad

【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv

产品支持情况

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

功能说明

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

  • 计算公式:

    $$ gradInput(N, C, D, H, W) += gradOutput( N, C, ceil ( scales_d * D ), ceil ( scales_h * H ), ceil ( scales_w * W )) $$

参数说明

参数名输入/输出/属性描述数据类型数据格式
grad_output输入表示反向计算的梯度Tensor,对应公式中的`gradOutput`。FLOAT32、FLOAT16、BFLOAT16NCDHW
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、BFLOAT16NCDHW

约束说明

无

调用说明

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

【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表