news 2026/5/9 12:40:54

CANN/ops-cv双三次上采样梯度算子

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ops-cv双三次上采样梯度算子

UpsampleBicubic2dGrad

【免费下载链接】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 训练系列产品×

功能说明

  • 算子功能:UpsampleBicubic2d的反向传播。如果输入张量的shape为(N, C, H, W),则输出张量的shape为(N, C, inputSize[2], inputSize[3])。

  • 计算公式:对于一个二维插值点$(N, C, h, w)$,插值$gradInput(N, C, h, w)$可以表示为:

    $$ {gradInput(N, C, h, w)}=\sum_{i=0}^{3}\sum_{j=0}^{3}{W(i, j)}*{f(h_i, w_j)} $$

    $$ scaleH =\begin{cases} (inputSize[2]-1) / (outputSize[0]-1) & alignCorners=true \ 1 / scalesH & alignCorners=false&scalesH>0\ inputSize[2] / outputSize[0] & otherwise \end{cases} $$

    $$ scaleW =\begin{cases} (inputSize[3]-1) / (outputSize[1]-1) & alignCorners=true \ 1 / scalesW & alignCorners=false&scalesW>0\ inputSize[3] / outputSize[1] & otherwise \end{cases} $$

    其中:

    • i和j是$W(i, j)$的索引变量。

    • $f(h_i, w_j)$是gradOutput在$(h_i, w_j)$的像素值。

    • $W(i, j)$是双三次抗锯齿插值的权重,定义为:

      $$ W(d) =\begin{cases} (a+2)|d|^3-(a+3)|d|^2+1 & |d|\leq1 \ a|d|^3-5a|d|^2+8a|d|-4a & 1<|d|<2 \ 0 & otherwise \end{cases} $$

      其中:

      • $a=-0.75$
      • $d = |(h, w) - (h_i, w_j)|$

参数说明

参数名输入/输出/属性描述数据类型数据格式
grad_output输入表示反向计算的梯度Tensor,对应公式描述中的`gradOutput`。数据类型与输出`grad_input`的数据类型一致。FLOAT32、FLOAT16、BFLOAT16ND
align_corners可选属性
  • 决定是否对齐角像素点,对应公式中的`alignCorners`。align_corners为true,则输入和输出张量的角像素点会被对齐,否则不对齐。
  • 默认值为false。
BOOL-
scales_h可选属性
  • 表示输出`grad_input`的height维度乘数,对应公式中的`scalesH`。
  • 默认值为0.0。
FLOAT32-
scales_w可选属性
  • 表示输出`grad_input`的width维度乘数,对应公式中的`scalesW`。
  • 默认值为0.0。
FLOAT32-
grad_input输出表示采样后的输出张量,对应公式中的`gradInput`。数据类型与输入`grad_output`的数据类型一致。FLOAT32、FLOAT16、BFLOAT16ND

约束说明

调用说明

调用方式样例代码说明
aclnn接口test_aclnn_upsample_bicubic2d_grad通过aclnnUpsampleBicubic2dBackward接口方式调用UpsampleBicubic2dGrad算子。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 12:40:29

CANN TensorFlow DynamicGRUV2构造函数

DynamicGRUV2构造函数 【免费下载链接】tensorflow Ascend TensorFlow Adapter 项目地址: https://gitcode.com/cann/tensorflow 功能说明 TensorFlow侧使用该接口&#xff0c;支持RNN类网络训练、推理。 函数原型 class DynamicGRUV2(_DynamicBasic):def __init__(s…

作者头像 李华
网站建设 2026/5/9 12:40:21

CANN/sip HcgemvBatched算子

信号处理加速库HcgemvBatchedOperation C Demo 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库&#xff0c;基于华为Ascend AI处理器&#xff0c;专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 介绍 该目录下…

作者头像 李华
网站建设 2026/5/9 12:39:07

模型诊断:从冲突集到命中集,构建高效故障定位系统

1. 模型诊断&#xff1a;从原理到实践&#xff0c;优化系统故障定位与修复我们每天开车、网购、上网、用手机&#xff0c;背后都依赖着一个个复杂系统在默默运转。从汽车的发动机控制单元&#xff0c;到电商平台的推荐算法&#xff0c;再到电网的调度系统&#xff0c;这些系统的…

作者头像 李华
网站建设 2026/5/9 12:38:48

网络交换芯片:从25.6T到51.2T的技术演进与挑战

1. 网络交换芯片&#xff1a;超大规模数据中心的无名英雄当我们谈论超大规模数据中心时&#xff0c;闪亮的服务器CPU、强大的GPU或是神秘的AI加速芯片总是占据着舞台中央。然而&#xff0c;真正支撑起这个数字世界庞大体量的“幕后功臣”&#xff0c;却常常被忽视——它就是网络…

作者头像 李华
网站建设 2026/5/9 12:38:43

HoRain云--汇编子程序:高效编程的底层奥秘

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

作者头像 李华
网站建设 2026/5/9 12:36:15

融合拓扑数据分析与蛋白质语言模型:AI驱动可编程蛋白质设计实践

1. 项目概述&#xff1a;当AI遇见蛋白质的“折叠密码”最近几年&#xff0c;如果你关注生物科技或者人工智能的交叉领域&#xff0c;一定会被一个词频繁刷屏&#xff1a;AI驱动的蛋白质设计。这听起来像是科幻小说里的情节——让计算机去理解和创造生命的基本功能单元。但今天&…

作者头像 李华