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-npuimport 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: False | torch_npu 没认到 NPU | 查版本配套 / CANN 是否装好 |
| 开机提示「资源不足」 | 云环境高峰 | 稍后再开机 |
| 在线体验打不开 | 会话过期 / 链接失效 | 刷新或重进在线体验入口 |
拿到失败结果,按三步排查:
- 先看报错最后几行,判断是环境(内核 / 依赖)还是代码逻辑问题
- 对号入座上面的速查表,多数环境类问题能直接定位
- 翻 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 步,按序走不迷路:
- 选环境:没硬件 → 在线体验;要 NPU → CANNLab;有服务器 → 本地
- 跑第一课:
quick_start/cann_basics,点「在线体验」跑通第一个 Notebook - 选主线:按角色从五条主线里挑一条(推理 / 训练 / 算子 / 应用 / 推荐)
- 逐 cell 跑主线:讲解 + 章节实践都做,对照
answer/核对 - 卡住先查:对号入座状态速查表 + 翻 docs/
- 进阶:算子去 CANNJudge 刷题 完整工程
- 想贡献:按规范开发 → CANNLab 验证 → PR 到
contrib/
现在就能做的三件小事:
- 打开
quick_start/cann_basics点「在线体验」,5 分钟跑通第一个 Notebook - 记下你的角色,把对应主线写进你的学习计划
- 想深入算子:从 Ascend C 算子开发(Kernel 直调版) 入手,比工程版更友好
【免费下载链接】cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。项目地址: https://gitcode.com/cann/cann-learning-hub
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考