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

cann/ops-cv非连续Tensor说明

非连续的Tensor

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

目前大部分算子API的输入aclTensor支持“非连续的Tensor”,即一个Tensor可以通过(shape, strides, offset)表示。

说明:创建aclTensor可通过《算子库接口》中“公共接口>aclCreateTensor”实现。

示例1

例如现有一个shape=(6, 5)、strides=(10, 1)、offset=22的Tensor,其内存排布如下:

a0,0, a0,1, a0,2, a0,3, a0,4, a0,5, a0,6, a0,7, a0,8, a0,9
a1,0, a1,1, a1,2, a1,3, a1,4, a1,5, a1,6, a1,7, a1,8, a1,9
a2,0, a2,1,a2,2, a2,3, a2,4, a2,5, a2,6, a2,7, a2,8, a2,9
a3,0, a3,1,a3,2, a3,3, a3,4, a3,5, a3,6, a3,7, a3,8, a3,9
a4,0, a4,1,a4,2, a4,3, a4,4, a4,5, a4,6, a4,7, a4,8, a4,9
a5,0, a5,1,a5,2, a5,3, a5,4, a5,5, a5,6, a5,7, a5,8, a5,9
a6,0, a6,1,a6,2, a6,3, a6,4, a6,5, a6,6, a6,7, a6,8, a6,9
a7,0, a7,1,a7,2, a7,3, a7,4, a7,5, a7,6, a7,7, a7,8, a7,9
a8,0, a8,1, a8,2, a8,3, a8,4, a8,5, a8,6, a8,7, a8,8, a8,9
a9,0, a9,1, a9,2, a9,3, a9,4, a9,5, a9,6, a9,7, a9,8, a9,9

即该Tensor排布如上图的深色位置。这个完整的Tensor在内存排布上是不连续的,strides描述Tensor维度上相邻两个元素的间隔,如果在维度1上的stride为1, 该维度是连续的;如果在维度0上的stride为10,那么相邻的元素间隔10个元素,即非连续。offset表示这个Tensor的首元素相对addr的偏移。

示例2

例如现有一个shape=(4, 3)、strides=(20, 2)、offset=22的Tensor,其内存排布如下:

a0,0, a0,1, a0,2, a0,3, a0,4, a0,5, a0,6, a0,7, a0,8, a0,9
a1,0, a1,1, a1,2, a1,3, a1,4, a1,5, a1,6, a1,7, a1,8, a1,9
a2,0, a2,1,a2,2, a2,3,a2,4, a2,5,a2,6, a2,7, a2,8, a2,9
a3,0, a3,1, a3,2, a3,3, a3,4, a3,5, a3,6, a3,7, a3,8, a3,9
a4,0, a4,1,a4,2, a4,3,a4,4, a4,5,a4,6, a4,7, a4,8, a4,9
a5,0, a5,1, a5,2, a5,3, a5,4, a5,5, a5,6, a5,7, a5,8, a5,9
a6,0, a6,1,a6,2, a6,3,a6,4, a6,5,a6,6, a6,7, a6,8, a6,9
a7,0, a7,1, a7,2, a7,3, a7,4, a7,5, a7,6, a7,7, a7,8, a7,9
a8,0, a8,1,a8,2, a8,3,a8,4, a8,5,a8,6, a8,7, a8,8, a8,9
a9,0, a9,1, a9,2, a9,3, a9,4, a9,5, a9,6, a9,7, a9,8, a9,9

即该Tensor排布如上图的深色位置。这个完整的Tensor在内存排布上是不连续的,strides描述Tensor维度上相邻两个元素的间隔,如果在维度1上的stride为2, 该维度上间隔1个元素;如果在维度0上的stride为20,那么相邻的元素间隔20个元素,即非连续。offset表示这个Tensor的首元素相对addr的偏移。

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

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

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

相关文章:

  • CANN/pypto浮点数取模运算API文档
  • CANN/atvoss默认块配置说明
  • 结构型设计模式——桥接模式
  • 公平AI与领域知识融合:构建可解释的酒驾风险预测模型
  • 2026年成都水刀配件市场深度横评:力好机械一站式供应解决方案 - 企业名录优选推荐
  • CANN算子基础框架库
  • cherry Studio中配置openClaw教程
  • C 语言11 函数传参与递归
  • CANN元数据定义FrameworkType
  • 全域旅游打破资源壁垒,巨有科技一机游赋能区域文旅高质量发展
  • 语义通信赋能AIGC:基于ControlNet的高效可控图像生成框架解析
  • AI赋能分支定界算法:机器学习如何优化混合整数规划求解效率
  • 构建XAI与人类决策的统一框架:从证据积累到可解释AI实践
  • 昇腾CANN PTO ISA 概述
  • CANN运行时TDT通道基础传输
  • CANN/asnumpy 基准测试
  • AI+SPU-Net:机器人辅助脊柱手术的自动切面规划技术详解
  • CANN/ops-transformer FFA算子设计
  • 5分钟彻底优化魔兽争霸3:解锁高帧率与宽屏支持的完整指南
  • CANN驱动获取设备PCIe信息v2
  • CANN/PTO-ISA同步算法优化
  • 从停机问题到AI责任:技术不可判定性与法律归责的跨界思考
  • CANN/pyasc向上取整函数
  • SMDA扩散(面向线性复杂度长上下文语言建模的序列流形扩散聚合) 下一代 大模型核心模型,有可能取代Transformer架构的自注意力机制
  • LobeHub 这玩意儿,到底香在哪?
  • AI赋能空间天气预报:深度学习预测太阳耀斑的技术实践
  • 你以为AI先裁基层,其实最危险的是中层管理者
  • 基于可解释AI与核形态分析的淋巴瘤辅助诊断系统实践
  • CANN/ops-math掩码填充张量
  • CANN/hcomm获取通道通知数API