2022CANN训练营新手应用开发课学习笔记

举报
孙小北 发表于 2022/04/25 09:32:47 2022/04/25
【摘要】 2022CANN训练营新手应用开发课学习笔记去年看到了CANN的训练营,奈何当时事情比较多,再加上还没接触过深度学习的相关知识,没能跟上,最后课程和奖品都错过了。今年决定报一下名,希望这次可以跟上。(PS:要补的东西好多啊)。 开营打个卡还是熟悉的大佬讲解,这次的课程分成三个班,从基础到进阶。看看自己能吸收多少吧。华为云账号:sunxiaobei班级:新手1班应用开发课 初级应用开发1云服...

2022CANN训练营新手应用开发课学习笔记

去年看到了CANN的训练营,奈何当时事情比较多,再加上还没接触过深度学习的相关知识,没能跟上,最后课程和奖品都错过了。今年决定报一下名,希望这次可以跟上。(PS:要补的东西好多啊)。

开营打个卡

开营打卡.jpg
还是熟悉的大佬讲解,这次的课程分成三个班,从基础到进阶。看看自己能吸收多少吧。

华为云账号:sunxiaobei
班级:新手1班应用开发课

初级应用开发1

云服务环境申请&AI 应用体验

  • (1)获取华为云帐号及项目ID,获得推送云环境镜像
  • (2)使用代金券购买ECS 云环境,以便获取到编译、运行应用的环境
  • (3)SSH 方式远程登录到该服务器

初级应用开发2

为了让计算机掌握人类理解的知识,需要构筑一个由简单概念组成的多层连接网络来
定义复杂对象,计算机通过对这个网络的迭代计算与训练后,可以掌握这个对象的特
征,一般称这种方法为深度学习(DeepLearning,DL)

异构计算架构CANN

华为公司面向计算机视觉、自然语言处理、推荐系统、类机器人等领域量身打造了基于“达芬奇(DaVinci)架构”的昇腾(Ascend)AI 处理器,开启了智能之旅。为提升用户开发效率和释放昇腾AI 处理器澎湃算力,同步推出针对AI 场景的异构计算架构CANN(Compute Architecture for Neural Networks),CANN 通过提供多层次的编程接口,以全场景、低门槛、高性能的优势,支持用户快速构建基于Ascend 平台的AI 应用和业务。

昇腾AI 异构计算架构(Compute Architecture for Neural Networks,CANN)被抽象成五层架构,如下图所示。

image-20220322153651820.png

  1. 昇腾计算语言接口(AscendCL)
    昇腾计算语言(Ascend Computing Language,AscendCL)接口是昇腾计算开放编程框架,是对低层昇腾计算服务接口的封装。它提供Device(设备)管理、Context(上下文)管理、Stream(流)管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理、Graph(图)管理等API 库,供用户开发人工智能应用调用。

  2. 昇腾计算服务层
    主要提供昇腾计算库,例如神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等;昇腾计算调优引擎库,例如算子调优、子图调优、梯度调优、模型压缩以及AI 框架适配器。

  3. 昇腾计算编译引擎
    主要提供图编译器(Graph Compiler)和TBE(Tensor Boost Engine)算子开发支持。前者将用户输入中间表达(Intermediate Representation,IR)的计算图编译成NPU 运行的模型。后者提供用户开发自定义算子所需的工具。

  4. 昇腾计算执行引擎
    负责模型和算子的执行,提供如运行时(Runtime)库(执行内存分配、模型管理、数据收发等)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。

  5. 昇腾计算基础层
    主要为其上各层提供基础服务,如共享虚拟内存(Shared Virtual Memory,SVM)、设备虚拟化(Virtual Machine,VM)、主机-设备通信(Host Device Communication,HDC)等。

昇腾计算语言接口AscendCL

AscendCL(Ascend Computing Language,昇腾计算语言)是昇腾计算开放编程框架,是对底层昇腾计算服务接口的封装,它提供运行时资源(例如设备、内存等)管理、模型加载与执行、算子加载与执行、图片数据编解码/裁剪/缩放处理等API 库,实现在昇腾CANN 平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。简单来说,就是统一的API 框架,实现对所有资源的调用

AscendCL 优势:

  • 高度抽象:算子编译、加载、执行的API 归一,相比每个算子一个API,AscendCL 大幅减少API 数量,降低复杂度。
  • 向后兼容:AscendCL 具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。
  • 零感知芯片:一套AscendCL 接口可以实现应用代码统一,多款昇腾处理器无差异。

AscendCL 应用场景:

  • 开发应用:用户可以直接调用AscendCL 提供的接口开发图片分类应用、目标识别应用等。
  • 第三方框架调用:用户可以通过第三方框架调用AscendCL 接口,以便使用昇腾AI 处理器的计算能力。
  • 供第三方开发lib 库:用户还可以使用AscendCL 封装实现第三方lib 库,以便提供昇腾AI 处理器的运行管理、资源管理等能力。

初级应用开发3

图片分类应用开发过程

  • 图片分类应用:按图片所属的类别来区分图片。
  • 置信度是指图片所属某个类别可能性。
  • 编码格式为RGB、分辨率为224*224。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。