AscendCL(Ascend Computing Language)是一套用于在昇腾平台上开发深度神经网络推理应用的API库,支持C&C++、Python语言,提供Device管理、Context管理、Stream管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理等API,能够实现在昇腾平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。
掌握了AscendCL的编程方法,就意味着可以利用昇腾的算力资源,基于开源算法开发图片分类、目标检测等一系列深度学习推理计算程序。
常有同学留言问我,想要学习昇腾AscendCL开发应该从何入手,有什么教程推荐?于是我就帮大家整理了一些网上的学习资源,分享给大家~
1.1 官方文档
AscendCL应用开发教程(C&C++)
AscendCL应用开发教程(Python)
这是昇腾官方的AscendCL编程教程,是内容最详尽的学习教程,能满足新手和高阶不同层次开发者的学习诉求。
1.2 书籍
《昇腾AI处理器CANN架构与编程》,是华为智能计算技术丛书之一,由哈尔滨工业大学软件学院副院长苏统华与昇腾CANN技术专家杜鹏博士主编,专注围绕昇腾AI处理器和昇腾AI异构计算架构CANN展开详细介绍,是系统学习昇腾开发的推荐书籍,AscendCL编程可以优先看下第1/2/4章。
第一章:昇腾AI基础
第二章:昇腾AI异构计算架构CANN
第三章:CANN自定义算子开发
第四章:昇腾计算语言
第五章:CANN模型训练
第六章:CANN模型部署
第七章:行业应用实例
1.3 技术博客
1、基于昇腾计算语言AscendCL开发AI推理应用--作者:昇腾CANN
不想看文档的,可以先偷懒看看这篇,基本上就能知道AscendCL主要接口,以及基本推理应用的实现逻辑了,5分钟快速入门学习。
2、使用ATC工具将主流开源框架模型转换为昇腾模型--作者:昇腾CANN
一文告诉你如何使用昇腾ATC工具,将主流开源框架模型转换为昇腾.om格式的模型,利用AscendCL接口加载后执行AI推理。
3、了解AscendCL数据预处理的两种方式:AIPP和DVPP--作者:昇腾CANN
这篇文章讲了当源图或视频的尺寸、格式等与网络模型的要求不一致时,怎么利用AscendCL进行数据预处理操作。
4、华为Ascend昇腾CANN详细教程(一)--作者:花花少年
自学实操贴,涵盖了相关概念的介绍、AscendCL的关键能力,包括运行资源管理、内存管理等,并讲了Ascend-toolkit 开发套件包的安装过程等等。
5、【2023 · CANN训练营第一季】应用开发深入讲解③ 快速入门(基于ResNet-50网络模型的图片分类应用)--作者:梦中の象牙塔
这是CANN训练营学员的实战总结帖,动手体验了如何基于ResNet-50网络模型实现一个图片分类应用,可以作为新手入门实操起来。
1.4 开源代码
昇腾样例仓提供了一系列媒体数据处理(DVPP/AIPP)、推理应用开发与部署(AscendCL)丰富的开源代码样例供开发者参考学习。
地址:samples: CANN Samples - Gitee.com
1.5 学习视频
基础开发:
【昇腾AscendCL学习视频 01】:AscendCL概述
【昇腾AscendCL学习视频 02】:AscendCL快速入门
【昇腾AscendCL学习视频 03】:ATC模型转换
【昇腾AscendCL学习视频 04】:AscendCL推理基础功能
【昇腾AscendCL学习视频 05】:AscendCL DVPP媒体数据处理
【昇腾AscendCL学习视频 06】:AscendCL应用调试
基础实践:
【昇腾AscendCL学习视频 07】:AscendCL图片分类应用开发课程(PyTorch ResNet50,C&C++)
【昇腾AscendCL学习视频 08】:AscendCL图片分类应用开发课程(PyTorch ResNet50,Python)
【昇腾AscendCL学习视频 09】:AscendCL目标属性编辑应用(PyTorch StarGan)
高阶开发:
【昇腾AscendCL学习视频 10】:AscendCL模型推理动态特性
【昇腾AscendCL学习视频 11】:AscendCL加载与执行算子
【昇腾AscendCL学习视频 12】:AscendCL同步&异步特性
【昇腾AscendCL学习视频 13】:AscendCL高性能编程实践
1.6 常见问题
【昇腾AscendCL经典案例 01】DVPP媒体数据处理内存问题案例
【昇腾AscendCL经典案例 02】DVPP媒体数据处理视频解码问题案例
【昇腾AscendCL经典案例 03】DVPP媒体数据处理图片解码问题案例
【昇腾AscendCL经典案例 04】DVPP媒体数据处理视频编码问题案例
【昇腾AscendCL经典案例 05】AscendCL运行时资源异常问题案例
【昇腾AscendCL经典案例 06】AscendCL应用编译&运行问题案例
欢迎小伙伴们继续补充~