cann-community - 昇腾AI社区大本营仓库:cann-community
第一次想给昇腾CANN做贡献,最让我头秃的是:GitHub仓库这么多,到底改哪个?PR怎么提?代码规范是啥?后来混熟了才发现,,所有社区项目、贡献指南、行业应用案例都在这里。
第一次想给昇腾CANN做贡献,最让我头秃的是不知道从哪下手:GitHub仓库这么多,到底改哪个?PR怎么提?代码规范是啥?
后来混熟了才发现,cann-community是昇腾AI的社区大本营,所有社区项目、贡献指南、行业应用案例都在这里。
cann-community是什么
cann-community是昇腾CANN生态的社区项目聚合平台,提供社区项目、贡献指南、行业应用案例。
在CANN五层架构里,cann-community位于:
- 第0层(应用使能层):作为社区平台,被开发者调用
- 聚合所有仓库:cann-docs、cann-samples、cann-tools、cann-blogs等
- 提供贡献指南:从"环境搭建"到"PR提交流程",手把手带你做贡献
为什么需要社区平台
你可能会问:昇腾CANN的GitHub仓库不是开源的吗?为什么还需要cann-community?
答案在聚合与降低门槛。
没有社区平台的痛点
- 太分散:核心仓库在atomgit.com/cann,文档在cann.io,教程在B站. 到处都是,找不到系统性的学习路径。
- 门槛高:想做贡献,但不知道从哪下手,PR流程是啥,代码规范是啥.
- 缺案例:行业应用案例(智慧城市、医疗、金融)找不到,只能自己摸索。
cann-community的优势
- 系统性:从入门到精通,有完整学习路线
- 低门槛:贡献指南手把手教你提PR、写文档、做测试
- 有案例:行业应用案例(智慧城市、医疗、金融)都有,直接参考
cann-community的核心内容
cann-community提供以下核心内容:
1. 社区项目(Community Projects)
cann-community聚合了以下社区项目:
| 项目 | 内容 | 适用人群 |
|---|---|---|
| cann-docs | 社区贡献的文档(API、教程、FAQ) | 所有人 |
| cann-samples | 社区贡献的代码示例(从"Hello World"到"大模型推理") | 初学者 |
| cann-tools | 社区贡献的工具(ATC插件、msadvisor插件、cann-op-devkit模板) | 开发者 |
| cann-blogs | 社区贡献的技术博客(算子优化、性能调优、行业趋势) | 所有人 |
| cann-community | 社区项目聚合平台(本文档) | 所有人 |
关键点:所有社区项目都开源(atomgit.com/cann),可以随时提PR贡献。
2. 贡献指南(Contribution Guide)
cann-community提供了以下贡献指南:
贡献流程:
- 环境搭建:安装CANN 8.0、配置环境变量、跑通第一个样例
- 选择贡献类型:文档贡献、代码贡献、博客贡献
- Fork仓库:Fork要贡献的仓库、Clone到本地、创建分支
- 做贡献:改错别字、修bug、加功能、写博客
- 提交PR:提交改动、提PR、等待审核(3个工作日内)
关键点:贡献指南覆盖了文档贡献、代码贡献、博客贡献三种类型,手把手教你提PR。
3. 行业应用案例(Industry Use Cases)
cann-community提供了以下行业应用案例:
智慧城市(目标检测):
- 用PP-YOLOe做目标检测
- 性能:95 FPS(Ascend 910)
- 代码:from cann.samples import PP_YOLOe
医疗(语义分割):
- 用DeepLabV3做语义分割
- 性能:18 images/s(Ascend 910)
- 代码:from cann.samples import DeepLabV3
金融(时间序列预测):
- 用LSTM做时间序列预测
- 性能:1250 samples/s(Ascend 910)
- 代码:from cann.samples import LSTM
关键点:所有行业应用案例都有完整代码和性能基准。
【唯一的代码段 - 完整贡献流程】
实战:给cann-community做贡献(完整流程)
# ========== 第1步:Fork仓库 ==========
# 1. Fork仓库(在atomgit.com/cann/cann-docs点Fork)
# 2. Clone到本地
git clone https://atomgit.com/your-username/cann-docs.git
cd cann-docs
# 3. 创建分支
git checkout -b fix-typo-in-readme
# ========== 第2步:修错别字 ==========
# 打开README.md
vim README.md
# 找到错别字(假设第10行有错别字)
# 原文:昇腾CANN是华为开放的开源AI计算架构
# 改正:昇腾CANN是华为开源的AI计算架构(删除"开放")
# 保存退出
# ========== 第3步:提交改动 ==========
# 1. 添加改动
git add README.md
# 2. 提交改动
git commit -m "fix: correct typo in README.md (remove redundant '开放')"
# 3. 推送到远程
git push origin fix-typo-in-readme
# ========== 第4步:提PR ==========
# 1. 打开PR页面(在atomgit.com/your-username/cann-docs/pulls/new)
# 2. 填写PR描述:
# - 标题:fix: correct typo in README.md
# - 描述:删除了README.md第10行中冗余的"开放"二字
# - 关联Issue:无
# 3. 提交PR
# ========== 第5步:等待审核 ==========
# 1. 等待审核(社区维护者会在3个工作日内审核)
# 2. 如果审核通过,你的PR会被合并
# 3. 如果审核不通过,根据反馈修改后重新提交
代码段解释(用文字讲解):
- 第1-2步:Fork仓库 + 修错别字(标准流程)
- 第3步:提交改动(git add + commit + push)
- 第4步:提PR(填写标题、描述、关联Issue)
- 第5步:等待审核(3个工作日内,审核通过/不通过)
常见踩坑点
坑1:PR被拒
症状:PR提交后,被维护者拒绝。
原因:
- 改动不符合代码规范(如缩进、命名等)
- 改动没有测试(如没跑通cann-samples的测试)
- 改动描述不清晰(如PR标题写"fix bug",但没说是什么bug)
解决方案:
- 看代码规范(在cann-community/contribution-guide/code-style.md)
- 跑通测试(在cann-samples/run_tests.sh)
- 写清晰的PR描述(标题 + 描述 + 关联Issue)
坑2:环境搭不起来
症状:Fork仓库后,本地环境搭不起来(CANN安装失败、环境变量配置不对等)。
原因:
- 系统不满足要求(如Ubuntu版本太低)
- 环境变量配置不对(如
ASCEND_HOME没设置)
解决方案:
- 看环境要求(在cann-community/contribution-guide/environment-setup.md)
- 跟着教程搭环境(在cann-learning-hub/environment-setup.md)
坑3:不知道贡献啥
症状:想做贡献,但不知道从哪下手。
原因:
- 对昇腾CANN不熟悉(不知道有哪些仓库、哪些项目)
- 技能不匹配(如只会写文档,不会写代码)
解决方案:
- 看社区项目列表(在cann-community/projects.md)
- 看贡献类型(文档贡献、代码贡献、博客贡献)
- 从简单的开始(如修错别字、补文档)
下一步
想深入学怎么给昇腾CANN做贡献?cann-community有系列教程,从"环境搭建"到"PR提交流程",手把手带你做贡献:
https://atomgit.com/cann/cann-community
顺便说一句,如果你想进入昇腾CANN社区,cann-community是必看的。不做贡献,永远只是"使用者",做贡献才能成为"贡献者"。
更多推荐




所有评论(0)