ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

cann-learning-hub 上手指南:3 种环境 5 分钟跑通第一个昇腾 Notebook

cann-learning-hub 上手指南:3 种环境 5 分钟跑通第一个昇腾 Notebook

cann-learning-hub 上手指南:3 种环境 5 分钟跑通第一个昇腾 Notebook

【免费下载链接】cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。项目地址: https://gitcode.com/cann/cann-learning-hub

想学昇腾 CANN,却被环境配置劝退?cann-learning-hub 把教程、示例、最佳实践打包成可运行的 Notebook,3 种环境任选,5 分钟跑通你的第一个 NPU 算子。

全景一图流:CANN 替你把活干了 🗺️

这个仓库本身不教你写模型,它给你一张「昇腾开发全景图」+ 一屋子能直接跑的例子。先看 CANN 在框架和硬件之间到底分了几层,你后面遇到的每个教程名都能对号入座。

它替你做了四件事:

  • 把散落的教程收进一个仓,从「什么是 NPU」到「自定义算子」一条线排好
  • 每个知识点配可执行 cell,不是只读文字,是真能跑的代码
  • 三种运行环境都留了入口,没硬件也能先在线体验
  • 把踩过的坑写成 docs/,配环境、提 PR 前查一下就能少走弯路

下一步:别急着翻全书,先按最短路径跑通第一个 Notebook。

最短路径:5 分钟跑通第一个 Notebook ⚡

零基础别在本地装环境上耗时间。第一条路是「在线体验」——零配置、开浏览器就能跑。打开 CANN 基础第一课,点表格里任一 Notebook 的「在线体验」,浏览器里点运行,看到输出图就是你的第一个成功。

跑通后你会看到类似这样的「cell 执行成功」画面,这就是后面每一课的标准形态:

想留一个本地副本慢慢改,再执行这三行(一次性):

# 克隆仓库到本地 git clone https://gitcode.com/cann/cann-learning-hub.git cd cann-learning-hub

⚠️ 本地要真正跑 NPU 计算,前提是机器上有昇腾 NPU 且装好了 CANN;只读文字部分则不需要。

下一步:确认你走哪条环境路线,别在错的环境里卡住。

三种接入方式,一张表选对入口

同样是「打开一个教程」,三条路成本差很多。先选路,再动手。

接入方式适合谁上手成本你需要准备
在线体验没硬件、只想先跑通零浏览器即可,点链接就走
CANNLab 云环境要真 NPU、做进阶/算子/推理低GitCode 账号,创建环境
本地部署有 NPU 服务器、要反复迭代中高昇腾 NPU + CANN + torch_npu

在线体验:无命令,直接点 quick_start 教程列表 里的链接。

CANNLab 云环境:进入 CANN 开源组织 → 点 CANNLab 页签 → 新建环境,关键三项照抄:

配置项取值
模板名称cann_9.0.0_py3.11-A2-arm
规格1*NPU 910B3 16vCPUs 32GiB
预加载代码仓CANN/cann-learning-hub,分支master

创建后点「连接」,选 WebIDE 或 VSCode 都能进:

本地部署:装好适配层后,先确认 NPU 可见再跑教程。

pip3 install torch pip3 install torch-npu
import torch, torch_npu print("NPU available:", torch.npu.is_available()) # 期望 True print("NPU count:", torch.npu.device_count())

具体规格可能随课程不同,以你要跑的那门课 README 里「在线体验环境」写明的镜像/规格为准,选错了会出现难排查的未知错误。详见 CANNLab 体验指南。

下一步:环境通了,先搞清楚「我该学哪条线」,别一上来就啃算子。

先读懂需求:按角色选主线,别一上来啃算子

仓库里东西多,新手最大的坑是「不知道从哪进」。其实入口就一张表——按你的角色挑主线。五条主线互不冲突,可以只学一条。

你关心什么直达主线总时长难度
跑通大模型、做推理优化大模型推理~10h★★☆
模型训练与微调大模型训练~16h★★★
底层算子编程Ascend C 算子开发~20h★★★
ACL 离线推理与部署应用开发~6h★★☆
推荐 / 召回落地推荐系统~8h★★☆

前置基础不用先全学完:Python + NumPy 就能开始第一课,C / C++ 等进入算子主线时再补,PyTorch 等进大模型主线时再补。

几个高频误解,先对齐再动手:

常见误解正确理解
本地必须配好 CANN 才能学在线体验零配置,认知类课程连 NPU 都不需要
内核随便选一个选Python 3.11内核(如 3.11.4 / 3.11.15),选错直接报错
镜像版本无所谓要按课程 README 指定镜像/规格创建,否则未知错误
五条主线得全学互不冲突,按角色选一条深入即可
版本配套不影响CANN / PyTorch / torch_npu 有配套关系,不匹配 NPU 不可用

⚠️ 零基础直接进 Ascend C 算子开发 是本仓最常见的「劝退点」,先跑完quick_start/cann_basics这块公共基础再进。

下一步:看懂仓库东西都放哪,学的时候才找得到路。

打开仓库看骨架:东西都在哪

目录就是地图。第一次进来扫一遍,后面每一步都知道该翻哪个文件夹。

cann-learning-hub/ ├── quick_start/ # 零基础起步:基础课 + 第一个算子 / 第一个大模型推理 ├── tutorials/ # 按技术栈深入的开发教程(算子、推理、训练、图、通信) ├── standard_course/ # 体系化课程:原子课程、启航营、教材 ├── reference_practice/ # 端到端参考实现:YOLOv13 离线推理、PyTorch 算子优化 ├── blogs/ # 真实客户实战案例(算子 / 推理 / 训练) ├── contrib/ # 社区共建教程 + 高校科研案例 ├── skills/ # CANNBot 算子生成技能 └── docs/ # 环境体验 / 课程开发 / 上线验收 指南
目录职责你什么时候进
quick_start/5 门基础课 + 4 个「第一个」第一次来,先跑这里
tutorials/按技术栈深入的开发教程基础打通后选主线
standard_course/体系化课程与配套课件想系统学、或要讲课时
reference_practice/完整可跑的参考工程想看端到端怎么落地
blogs/真实场景实战案例找同类业务解法
contrib/社区共建教程想投稿 / 找高校课程
docs/环境与贡献流程规范配环境、提 PR 前查

下一步:别只看不跑,挑一条主线动手改一改,才算真正上手。

动手跑主线:改一个参数,看它怎么变 🛠️

看文字不等于学会。判断「真的会了」的唯一标准,是你能把教程里的 cell 跑通、还敢改参数看结果变化。

❌ 错误姿势:只读 Markdown,跳过 code cell,看完觉得自己懂了。

# 只翻文字,不点运行 # 结果:换个参数就懵,换台机器就崩

✅ 正确姿势:每个 code cell 都点运行,结果和你看到的一致才算过。

# 跑完一个 cell 后,主动改一个输入,再跑一次 x = x * 2 # 改个参数,看输出是否如预期变化 print(x) # 对得上,才是真跑通了

❌ 错误姿势:零基础直接开啃算子工程版,卡在 Tiling / 双缓冲上。 ✅ 正确姿势:先跑完quick_start/cann_basics公共基础,再进主线。

跑主线前,过一遍这个自检清单:

  • 选对了对应主线的内核(Python 3.11 系列)
  • 环境 / 镜像版本与课程 README 声明一致
  • 上一节 cell 无报错、Kernel 未中断
  • 这一节结尾的「章节实践」题也做了(不是只跑教程正文)
  • 对照answer/里的答案核对自己结果

每条主线的最后一节都是章节实践,做完它再进下一节,别只跑讲解部分。

下一步:跑的过程中一定会遇到报错,先学会怎么读结果。

读懂运行结果:成功长这样,失败这样查

NPU 教程的报错大多不出在「算法」上,而出在「环境和配套」。先看现象,再动手,别瞎改。

现象含义怎么办
cell 出图 / 正常打印正常继续下一 cell
Kernel 中断 / 重启内核或依赖问题重选 Python 3.11 内核,重装修依赖
NPU available: Falsetorch_npu 没认到 NPU查版本配套 / CANN 是否装好
开机提示「资源不足」云环境高峰稍后再开机
在线体验打不开会话过期 / 链接失效刷新或重进在线体验入口

拿到失败结果,按三步排查:

  1. 先看报错最后几行,判断是环境(内核 / 依赖)还是代码逻辑问题
  2. 对号入座上面的速查表,多数环境类问题能直接定位
  3. 翻 docs/ 里的指南 + 跑验证 cell,确认 NPU 是否可见,再改代码

大模型推理类课程还会用 Profiling 看瓶颈,看懂下面这张「调度空泡」图,你就明白为什么推理要优化:

下一步:这些现象反复卡住你,就看下面的高频问答。

高频问题速查:卡住了先对号入座

Q:在线体验打不开 / 一直转圈?多半是会话过期。刷新页面或重新点入口;仍不行就切到 CANNLab 云环境继续。

Q:NPU available打印False?版本没配套。CANN 与 PyTorch / torch_npu 是绑定关系:CANN 9.0.0 对应torch 2.10.0/torch_npu 2.10.0。先确认 CANN 装好了,再按配套版本装。

Q:内核到底选哪个?选 Python 3.11 系列。CANNLab 里还建议按 CANNLab 课程开发指南 配settings.json,把非 3.11 的内核排除掉,打开 Notebook 就默认正确。

Q:我手上没有 NPU,能学吗?能。概念 / 认知类内容先看文字就行;只有真正要跑 NPU 计算的部分,才需要本地 NPU 或 CANNLab 云环境。

Q:想贡献教程 / 案例,从哪提?先提 Issue 讨论方案 → 按目录规范开发 → 在 CANNLab 里跑通验证 → 发 PR 到master(内容多可先走test分支)。详见 贡献指南 与 上线验收标准。

下一步:能跑了之后,把「能跑」升级成「能改、能贡献」。

更进一步:从"能跑"到"能改"再到"能贡献" 📈

分三层往上走,每层 2~4 件具体的事,做满一层再进下一层。

正确性——先确保「跑对」

  • 把所选主线的每一节章节实践都做完,别跳最后一节
  • 对照answer/里的标准答案核对自己的输出
  • 多环境验证:在线 / CANNLab 至少各跑一遍,确认不依赖某台机器

性能——再追求「跑快」

  • 大模型推理主线:先 Profiling 定位瓶颈(如 RMSNorm 小算子链路),再上融合 / 量化 / 图模式
  • 算子主线:多做多核切分、双缓冲、向量化的改写,对比优化前后
  • 想看真实案例怎么调,直接读 blogs/ 里的推理与算子优化实战

代码质量——最后做到「能贡献」

  • 按contrib/目录规范组织,命名全小写、下划线连接
  • 提 PR 前跑一遍自检:AI 低错检查、Checklist 自检、在线体验验证、同步主 README
  • 涉及第三方数据集只写下载说明,不把数据集本身合入代码

下一步:把整条路收成一张可重复的清单,方便下次照着走。

带走清单:全流程编号 + 现在就能做 ✅

从 0 到上手,就这 7 步,按序走不迷路:

  1. 选环境:没硬件 → 在线体验;要 NPU → CANNLab;有服务器 → 本地
  2. 跑第一课:quick_start/cann_basics,点「在线体验」跑通第一个 Notebook
  3. 选主线:按角色从五条主线里挑一条(推理 / 训练 / 算子 / 应用 / 推荐)
  4. 逐 cell 跑主线:讲解 + 章节实践都做,对照answer/核对
  5. 卡住先查:对号入座状态速查表 + 翻 docs/
  6. 进阶:算子去 CANNJudge 刷题 完整工程
  7. 想贡献:按规范开发 → CANNLab 验证 → PR 到contrib/

现在就能做的三件小事:

  • 打开quick_start/cann_basics点「在线体验」,5 分钟跑通第一个 Notebook
  • 记下你的角色,把对应主线写进你的学习计划
  • 想深入算子:从 Ascend C 算子开发(Kernel 直调版) 入手,比工程版更友好

【免费下载链接】cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。项目地址: https://gitcode.com/cann/cann-learning-hub

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

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进