当前位置: 首页 > news >正文

CANN/ops-cv一维线性上采样

UpsampleLinear1d

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

功能说明

  • 算子功能:对由多个输入通道组成的输入信号应用线性插值算法进行上采样。如果输入shape为(N, C, L),则输出shape为(N, C, outputSize)。

  • 计算公式:

    • 核心算法逻辑:

      1. 将目标图像的每一个点映射回原图,得到一个带小数点的坐标。
      2. 根据这个浮点数坐标,计算前后相邻的原始图像的点。
      3. 分别计算相邻点到对应目标点的权重,按照权重相乘累加即可得到目标点值。
    • 具体计算逻辑: 缩放方式分为角对齐和边对齐,角对齐表示按照原始图片左上角像素中心点对齐,边对齐表示按照原始图片左上角顶点及两条边对齐,在计算缩放系数和坐标位置时存在差异。则有以下公式:

      $$ scale =\begin{cases} (self.dim[2]-1) / (outputSize[0]-1) & alignCorners=true \ 1 / scales & alignCorners=false&scales>0\ self.dim[2] / outputSize[0] & alignCorners=false \end{cases} $$

      因此,对于output的某个方向上的点p(x),映射回原始图像中的点记为q(x'),则有关系:

      $$ x' =\begin{cases} x * scale_h & alignCorners=true \ MAX(0,{(x+0.5)*scale_h-0.5}) & alignCorners=false \end{cases} $$

      • 记:

        $$ x_{0} =int(x'),x_{1} =int(x')+1, lambda_{0} = x_{1}-x', lambda_{1} = 1-lambda_{0} $$

      • 则有以下公式:

        $$ {V(p_{x})} = {V(p_{x0})} * {lambda_{0}} + {V(p_{x1})} * {lambda_{1}} $$

参数说明

参数名输入/输出/属性描述数据类型数据格式
x输入表示进行上采样的输入张量,对应公式中的`self`。FLOAT32、FLOAT16、BFLOAT16ND
size输入指定输出空间大小,对应公式中的`outputSize`。size为1,且取值大于0。表示指定`y`在H和W维度上的空间大小。INT32-
align_corners可选属性
  • 决定是否对齐角像素点,对应公式中的`alignCorners`。如果设置为true,则输入和输出张量按其角像素的中心点对齐,保留角像素处的值;如果设置为false,则输入和输出张量通过其角像素的角点对齐,并且插值使用边缘值填充用于外界边值。
  • 默认值为false。
BOOL-
scales可选属性
  • 表示输出`y`的L维度乘数,对应公式中的`scales`。
  • 无默认值。
FLOAT32-
y输出表示采样后的输出张量,对应公式描述中的`output`。数据类型、数据格式与入参`x`的数据类型、数据格式保持一致。FLOAT32、FLOAT16、BFLOAT16ND

约束说明

调用说明

调用方式样例代码说明
aclnn接口test_aclnn_upsample_linear1d通过aclnnUpsampleLinear1d接口方式调用UpsampleLinear1d算子。

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

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

http://www.jsqmd.com/news/786726/

相关文章:

  • 基于技能图谱的职业路径规划:从图算法到个性化推荐引擎
  • MCP协议与mcp-use工具:让AI助手拥有操作本地系统的能力
  • 为AI编程助手构建持久化记忆系统:告别上下文丢失,实现连续开发
  • AI蠕虫Worm-GPT:原理、风险与防御前瞻
  • CANN算术运算API优化指南
  • ESP32 Wi-Fi数据记录器:从嗅探原理到物联网监控实践
  • 循环码软判决迭代解码技术解析与优化
  • Crux终端模拟器:现代开发者工作流的GPU加速与原生集成实践
  • WiMAX测试技术演进与SeaMAX方案解析
  • 基于MCP协议的AI智能体工具总线:mcp-router架构与实战指南
  • 2026年知名的真空炉多家厂家对比分析 - 品牌宣传支持者
  • 2026年靠谱的高松白卡纸厂家精选合集 - 行业平台推荐
  • JeecgBoot:AI与低代码重塑企业级Java开发,Spring Boot 3 + Vue 3全栈实战
  • 渗透测试小白入门|Kali Linux 保姆级安装教程,镜像下载、虚拟机配置、系统初始化全程带图
  • AI赋能Web 3.0内容治理:构建检测-感知-治理的智能闭环
  • transformer到底是个啥?用它的大白话+类比,彻底搞懂GPT、ChatGPT、DeepSeek的底层架构
  • SpriteDicing:基于纹理分块去重的游戏美术资源优化方案
  • 语音识别技术在现代通信中的应用与优化
  • AI数据隐私保护实战:从同态加密到联邦学习的端到端防线构建
  • 从Prompt到Harness:AI工程四层逻辑,助你玩转大模型!
  • MCP Builder:快速构建生产就绪MCP服务器的AI开发工具
  • 腾耀文旅集团:十三年深耕企业游学赋能,非标靠谱,性价比高,值得推荐
  • 嵌入式实时系统执行时间测量与优化实践
  • ARM Cortex-A9 MPCore架构优化与多核缓存一致性解析
  • 频发的数据泄露事件!已成网络安全领域核心新热点,企业运维安全必读
  • CANN/pypto循环展开函数文档
  • 腾耀文旅创新“新模式邀约+旅游+会议+激活老会员”模式 赋能企业高效增长,为企业量身打造第二增长曲线
  • AI驱动智能交通:从数据融合到智能决策的工程实践
  • TropicClaw:基于Bash的命令行工具框架开发实践
  • ChatGPT在术语编纂中的应用:AI辅助定义生成与挑战