news 2026/3/6 17:36:06

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/3/4 20:12:01

如何用GVHMR实现精准的3D人体运动恢复?5大核心技术解析

如何用GVHMR实现精准的3D人体运动恢复?5大核心技术解析 【免费下载链接】GVHMR Code for "GVHMR: World-Grounded Human Motion Recovery via Gravity-View Coordinates", Siggraph Asia 2024 项目地址: https://gitcode.com/gh_mirrors/gv/GVHMR …

作者头像 李华
网站建设 2026/3/2 5:09:04

TachiyomiJ2K通知系统:5分钟学会智能漫画更新提醒配置

TachiyomiJ2K通知系统:5分钟学会智能漫画更新提醒配置 【免费下载链接】tachiyomiJ2K Free and open source manga reader for Android 项目地址: https://gitcode.com/gh_mirrors/ta/tachiyomiJ2K 作为Android平台上最受欢迎的免费开源漫画阅读器&#xff0…

作者头像 李华
网站建设 2026/3/3 9:43:53

使用lsp-zero.nvim快速配置Neovim的LSP功能

使用lsp-zero.nvim快速配置Neovim的LSP功能 【免费下载链接】lsp-zero.nvim A starting point to setup some lsp related features in neovim. 项目地址: https://gitcode.com/gh_mirrors/ls/lsp-zero.nvim lsp-zero.nvim是一个为Neovim配置语言服务器协议(LSP)功能的起…

作者头像 李华
网站建设 2026/3/6 15:21:48

Oxigraph 实战手册:构建下一代语义智能应用的核心引擎

Oxigraph 实战手册:构建下一代语义智能应用的核心引擎 【免费下载链接】oxigraph SPARQL graph database 项目地址: https://gitcode.com/gh_mirrors/ox/oxigraph 在数据智能时代,如何高效管理复杂的关联数据成为技术团队面临的关键挑战。传统关系…

作者头像 李华
网站建设 2026/3/4 10:15:54

ESP32与心率监测联动冥想引导

ESP32与心率监测联动冥想引导在快节奏的现代生活中,焦虑、失眠和注意力涣散已成为普遍的心理健康挑战。传统的冥想应用虽然提供了语音引导,但大多采用“一刀切”的固定内容,缺乏对用户真实生理状态的感知与响应。如果设备能“读懂”你的心跳节…

作者头像 李华
网站建设 2026/3/5 3:38:16

QuickLook终极指南:5分钟掌握Windows快速预览神器

QuickLook终极指南:5分钟掌握Windows快速预览神器 【免费下载链接】QuickLook Bring macOS “Quick Look” feature to Windows 项目地址: https://gitcode.com/gh_mirrors/qu/QuickLook 你是否曾经为了查看一个文件而不得不打开笨重的应用程序?Q…

作者头像 李华