news 2026/4/23 12:15:39

CANN中如何理解算子基本概念Tensor张量,以及张量的运算

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN中如何理解算子基本概念Tensor张量,以及张量的运算

在华为CANN(Compute Architecture for Neural Networks)框架中,算子(Operator)是神经网络模型中的基本计算单元,每个算子具有唯一的名称(Op Name)和类型(Op Type),名称用于区分网络中的不同算子,而类型决定了算子的计算逻辑。算子的核心计算载体是张量(Tensor),它不仅承载数据,还记录形状(Shape)、数据类型(Data Type)和数据排布格式(Data Layout Format)。理解张量的结构对于算子开发和性能优化至关重要。

张量(Tensor)是一种多维数组,其维度(Shape)定义了数据的层次结构。例如,一个形状为(4, 20, 20, 3)的张量可以表示4张20×20的RGB图片,其中3代表颜色通道数。张量的每一维称为轴(Axis),轴的编号从0开始,负数轴表示从末尾开始索引(如axis=-1表示最后一维)。在编程中,张量形状常对应嵌套循环结构,用于操作每个元素完成计算任务。

Tensor作为算子计算的数据容器,其描述符(TensorDesc)定义了数据的具体属性,如形状和数据类型。在CANN中,张量还涉及多种数据排布格式(如NHWC、NC1HWC0等),这些格式优化了内存访问效率,直接影响算子性能。


tensor到底是啥

pytorch 和tensorflow 中最重要的概念就是tensor了,tensorflow 这个框架的名字中很直白,就是tensor的流动,所以学习深度学习的第一课就是得搞懂tensor到底是个什么东西了,今天就来学习下,OK,起飞

tensor 即“张量”(翻译的真难理解,破概念)。实际上跟numpy数组、向量、矩阵的格式基本一样。但是是专门针对GPU来设计的,可以运行在GPU上来加快计算效率,不要被吓到。

在PyTorch中,张量Tensor是最基础的运算单位,与NumPy中的NDArray类似,张量表示的是一个多维矩阵。不同的是,PyTorch中的Tensor可以运行在GPU上,而NumPy的NDArray只能运行在CPU上。由于Tensor能在GPU上运行,因此大大加快了运算速度。

一句话总结:一个可以运行在gpu上的多维数据而已。


张量的运算:

tensor是深度学习的基础,也是入门的,可以简单的理解为一个多维的数据结构,并且内置了一些特殊运算。

对张量可以进行与Numpy类似的改变维数reshape、转置transpose、切片slice、索引index、拼接concat、分割splite和排序topk等操作,以及常见的加、减、乘、除和比较等运算。
要注意的是,TensorFlow2和MindSpore框架中,张量的表示方式有差异,在使用时应注意区别。


Tensor是算子计算数据的容器,TensorDesc(Tensor描述符)是对Tensor中数据的描述。TensorDesc数据结构包含如下属性如表所示。

TensorFlow2和MindSpore深度学习框架中,张量(Tensor)是基本的数据结构,算子是施加在张量上的各种操作,它们是理解深度学习框架最基本的概念。


昇腾训练营报名链接:
https://www.hiascend.com/developer/activities/cann20252#cann-camp-2502-intro

训练营简介:2025年昇腾CANN训练营第二季,基于CANN开源开放全场景,推出0基础入门系列、码力全开特辑、开发者案例等专题课程,助力不同阶段开发者快速提升算子开发技能。获得Ascend C算子中级认证,即可领取精美证书,完成社区任务更有机会赢取华为手机,平板、开发板等大奖

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

Puppeteer-Sharp 终极指南:快速实现 .NET 浏览器自动化

Puppeteer-Sharp 终极指南:快速实现 .NET 浏览器自动化 【免费下载链接】puppeteer-sharp hardkoded/puppeteer-sharp: Puppeteer-Sharp 是 .NET 中的一个封装库,它提供了对 Google Chrome Puppeteer API 的访问,可用于爬虫抓取、网页自动化、…

作者头像 李华
网站建设 2026/4/23 11:43:19

3步搞定:从零搭建现代化CRM开发环境

3步搞定:从零搭建现代化CRM开发环境 【免费下载链接】twenty 构建一个由社区驱动的Salesforce的现代替代品。 项目地址: https://gitcode.com/GitHub_Trending/tw/twenty 还在为复杂的CRM系统本地部署而头疼吗?😫 作为Salesforce的现代…

作者头像 李华
网站建设 2026/4/22 22:09:09

FT232RL驱动程序完整安装指南:Windows 7/10系统终极解决方案

FT232RL驱动程序完整安装指南:Windows 7/10系统终极解决方案 【免费下载链接】FT232RLWin7Win10驱动程序 本仓库提供了适用于 Windows 7 和 Windows 10 操作系统的 FT232RL 驱动程序。FT232RL 是一款常用的 USB 转串口芯片,广泛应用于各种开发板和设备中…

作者头像 李华
网站建设 2026/4/23 11:40:37

基于VUE的开智慧农业项目管理平台[VUE]-计算机毕业设计源码+LW文档

摘要:智慧农业作为现代农业发展的重要方向,对项目管理提出了更高要求。本文介绍基于VUE的开智慧农业项目管理平台,阐述其开发背景与意义。平台运用VUE等技术,具备系统用户管理、新闻数据管理、项目列表管理等功能模块。通过需求分…

作者头像 李华
网站建设 2026/4/23 11:39:40

VoxelNeXt:重新定义3D目标检测的完全稀疏网络架构

VoxelNeXt:重新定义3D目标检测的完全稀疏网络架构 【免费下载链接】OpenPCDet 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPCDet VoxelNeXt作为OpenPCDet框架中的革命性3D目标检测模型,通过完全稀疏的架构设计,在保持高精度的…

作者头像 李华
网站建设 2026/4/23 11:41:54

Catch2 终极入门指南:快速掌握现代C++测试框架

Catch2 终极入门指南:快速掌握现代C测试框架 【免费下载链接】Catch2 项目地址: https://gitcode.com/gh_mirrors/cat/Catch2 Catch2是一个功能强大的现代C单元测试框架,它不仅提供了直观的测试语法,还支持微基准测试和BDD行为驱动开…

作者头像 李华