入门指南:在Notebook中使用预置CANN镜像快速搭建昇腾开发环境
在云平台上寻找CANN环境时,我们常常被“搜索无结果”所困扰。但正如本文所示,真正的开发资源往往藏在细节之中——那个名字冗长却功能完整的镜像,正是开启昇腾AI开发大门的钥匙。

在Notebook中使用预置CANN镜像快速搭建昇腾开发环境
前言:为什么要在 Notebook 中开发 CANN?
适用版本:CANN 5.1.0 + MindSpore 1.7.0
最后更新:2025年11月
目标读者:初次接触CANN、希望快速上手昇腾AI开发的新手开发者
昇腾(Ascend)AI处理器作为华为自研的高性能AI芯片,正被广泛应用于大模型训练、推理加速等场景。而 CANN(Compute Architecture for Neural Networks) 是其核心软件栈,为开发者提供底层算子支持、编译优化与运行时调度能力。
然而,本地部署CANN环境往往涉及复杂的驱动安装、依赖管理与权限配置,对新手极不友好。幸运的是,借助 云平台上的 Jupyter Notebook,我们可以实现:
- 免配置启动:无需手动安装CANN或驱动
- 开箱即用:预装MindSpore、TensorFlow与CANN工具链
- 高效调试:交互式编程 + 实时结果可视化
- 社区友好:便于复现他人项目、贡献代码
本文将手把手教你如何在 没有显式“CANN”标签镜像 的情况下,精准识别并使用一个隐藏但功能完整的CANN开发镜像——tensorflow1.15-mindspore1.7.0-cann5.1.0-euler2.8-aarch64,完成从零到可运行的完整搭建流程。
一、确认可用镜像:找到“藏起来”的CANN环境
在华为云ModelArts的Notebook创建页面中,搜索“CANN”可能返回空结果,但这并不意味着没有CANN支持。
🔍 关键发现:
在镜像列表中存在以下选项:
名称:tensorflow1.15-mindspore1.7.0-cann5.1.0-euler2.8-aarch64
描述:Ascend+ARM算法开发和训练基础镜像,AI引擎预置TensorFlow和MindSpore
该镜像已集成:
- CANN 5.1.0(含ACL、TBE、Driver等组件)
- MindSpore 1.7.0(支持Ascend后端)
- TensorFlow 1.15(兼容部分旧模型)
- EulerOS 2.8(华为官方操作系统)
✅ 结论:这是当前环境下最合适的CANN开发起点。
二、完整搭建流程
步骤1:创建 Notebook 实例
- 登录 华为云控制台

-
进入 ModelArts > 开发环境 > Notebook
-
点击 【创建】

- 填写基本信息:
- 名称:
cann-dev-notebook - 计费模式:按需计费(适合学习测试)
- 名称:

- 选择 AI引擎:
- AI引擎类型:Ascend
- 镜像:勾选
tensorflow1.15-mindspore1.7.0-cann5.1.0-euler2.8-aarch64

- 选择计算规格:
- 推荐:
Ascend: 1*Ascend Snt9|ARM: 24核 96GB
- 推荐:

- 点击 【立即创建】

⏱️ 实例创建通常需要 3–5 分钟,请耐心等待状态变为“运行中”。
步骤2:进入 JupyterLab 并加载环境
- 实例创建成功后,点击 【打开】 按钮
- 系统将自动跳转至 JupyterLab 界面
- 在左侧菜单点击 “+” → 打开 Terminal(终端)
在终端中执行以下命令,加载CANN环境变量:
source /usr/local/Ascend/ascend-toolkit/set_env.sh
💡 此脚本会设置
PATH、LD_LIBRARY_PATH、PYTHONPATH等关键路径,确保后续命令能正确调用CANN组件。
步骤3:验证NPU设备与CANN状态
3.1 查看NPU硬件信息
npu-smi info
✅ 成功输出应包含设备ID、温度、功耗、健康状态等,例如:
+-------------------+-------------------+------------------------------------------------------+
| NPU Name | Health | Power(W) Temp(C) HBM(MB) Util(%) |
+===================+===================+======================================================+
| 0 910B | OK | 85.2 45 32768 0 |
+-------------------+-------------------+------------------------------------------------------+
若显示“OK”,说明NPU驱动正常。
3.2 验证CANN版本
cat /usr/local/Ascend/ascend-toolkit/version.txt
预期输出:
CANN 5.1.0
3.3 测试MindSpore是否可调用Ascend
新建一个 .ipynb 文件,运行以下Python代码:
import mindspore as ms
print("MindSpore version:", ms.__version__)
ms.set_context(device_target="Ascend")
print("Device target set to:", ms.context.get_context('device_target'))
# 尝试创建一个NPU张量
x = ms.Tensor([1, 2, 3], dtype=ms.float32)
print("Tensor on NPU:", x)
✅ 若无报错且输出类似:
MindSpore version: 1.7.0
Device target set to: Ascend
Tensor on NPU: [1. 2. 3.]
则表明 CANN + MindSpore + NPU 全链路已打通!
三、常见问题排查
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
npu-smi: command not found |
未加载环境变量 | 执行 source /usr/local/Ascend/ascend-toolkit/set_env.sh |
ImportError: libascend.so not found |
动态库路径缺失 | 检查 echo $LD_LIBRARY_PATH 是否包含 /usr/local/Ascend/ascend-toolkit/lib64 |
| MindSpore 报错 “device_target not supported” | 未显式设置设备 | 添加 ms.set_context(device_target="Ascend") |
| 实例无法启动 | 区域资源不足 | 尝试切换可用区(如北京四 → 上海一) |
四、下一步:开始你的算子开发之旅
环境就绪后,你可以:
- 浏览官方示例:
/usr/local/Ascend/samples/custom_ops/ - 编写自定义TBE算子(基于Python)
- 使用ACL C++接口开发高性能算子
- 将Notebook项目导出为
.py脚本用于生产部署
📌 提示:CANN 5.1.0 虽非最新版,但已支持绝大多数算子开发需求。如需更高版本,可关注社区Docker方案。
结语:从“找不到”到“跑起来”,只需一步之遥
在云平台上寻找CANN环境时,我们常常被“搜索无结果”所困扰。但正如本文所示,真正的开发资源往往藏在细节之中——那个名字冗长却功能完整的镜像,正是开启昇腾AI开发大门的钥匙。
通过本文的完整流程,你已经成功在Notebook中搭建了一个可运行、可调试、可扩展的CANN开发环境。接下来,无论是学习算子原理、复现社区项目,还是贡献自己的创新,你都已站在坚实的起点之上。
参考文档:
更多推荐


所有评论(0)