【2023·CANN训练营第一季】昇腾AI入门课(TensorFlow)学习笔记

举报
zekelove 发表于 2023/04/10 23:00:31 2023/04/10
【摘要】 通过学习了解昇腾AI全栈架构及架构中各层的作用,了解异构计算架构CANN在昇腾AI全栈中的位置和作用。学习TensorFlow 是一款先进的开源库,旨在开发和部署先进的机器学习应用程序。

       最近AI可是非常火爆,ChatGPT成为互联网领域最大的风口,带来了各个行业的焦点,也产生了很多场景的AI应用,这将改变人与工具的交互方式,为我们生活提供更便捷的服务。
       此次正好报名参加了CANN训练营2023年第一季昇腾AI入门课(TensorFlow),对于昇腾、AI、TensorFlow之前只有简单的了解并没有系统的学习过,正好借此机会好好学习一下相关知识。

一. 什么是CANN

       CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构,对上支持多种AI框架,对下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。

       昇腾AI全栈分为四个部分

       应用使能层面、AI框架层面、异构计算架构和计算应检。

       昇腾目前支持的AI深度学习框架

       昇思MindSpore,TensorFlow, Pytorch。

       昇腾AI异构计算架构抽象成五层架构

  1. 昇腾计算语言接口
    昇腾计算语言(AscendCL)接口是昇腾计算开放编程框架,对开发者屏蔽底层多种处理器差异,提供算子开发接口TBE、标准图开发接口AIR、应用开发接口,支持用户快速构建基于Ascend平台的AI应用和业务。
    AscendCL优势:高度抽象,向后兼容,零感知芯片。
    AscendCL应用场景:开发应用,供第三方框架调用,供第三方开发lib库。
    AscendCL的分层能力开放:模型加载能力,算子能力,Runtime能力。
  2. 昇腾计算服务层
    昇腾计算服务层主要提供昇腾算子库AOL,通过神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等高性能算子加速计算;昇腾调优引擎AOE,通过算子调优OPAT、子图调优SGAT、梯度调优GDAT、模型压缩AMCT提升模型端到端运行速度。同时提供AI框架适配器Framework Adaptor用于兼容Tensorflow、Pytorch等主流AI框架。
  3. 昇腾计算编译引擎
    昇腾计算编译层通过图编译器(Graph Compiler)将用户输入中间表达(Intermediate Representation,IR)的计算图编译成昇腾硬件可执行模型;同时借助张量加速引擎TBE(Tensor Boost Engine)的自动调度机制,高效编译算子。昇腾计算执行层负责模型和算子的执行,提供运行时库(Runtime)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。
  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)等。

二. TensorFlow简介

       TensorFlow是一个端到端开源机器学习平台。它拥有一个全面而灵活的生态系统,其中包含各种工具、库和社区资源,可助力研究人员推动先进机器学习技术领域。它是一个深度学习库,由 Google 开源,可以对定义在 Tensor(张量)上的函数自动求导。

       特点

       优秀的架构设计,通过张量流进行数据传递和计算,用户可以清晰地看到张量流动的每一个环节。
       可以轻松地在CPU/GPU上部署,进行分布式计算,为大数据分出现提供计算能力的支撑。
       跨平台性好,灵活性强。TensorFlow不仅在Linux、Mac、和Windows系统中运行,甚至可以再终端下工作。

       体系结构

       客户端:用户编程、执行使用。
       mster:用来与客户端交互,并进行调度的。
       worker process:工作节点,每个worker process可以访问一道多个device
       device:TF的计算核心,执行计算。TF的实现分为单机实现,分布式实现。

温馨提示

文章内容如果写的存在问题欢迎留言指出,让我们共同交流,共同探讨,共同进步~~~

文章如果对你有帮助,动动你的小手点个赞,鼓励一下,给我前行的动力。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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