【2023·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异构计算架构抽象成五层架构
- 昇腾计算语言接口
昇腾计算语言(AscendCL)接口是昇腾计算开放编程框架,对开发者屏蔽底层多种处理器差异,提供算子开发接口TBE、标准图开发接口AIR、应用开发接口,支持用户快速构建基于Ascend平台的AI应用和业务。
AscendCL优势:高度抽象,向后兼容,零感知芯片。
AscendCL应用场景:开发应用,供第三方框架调用,供第三方开发lib库。
AscendCL的分层能力开放:模型加载能力,算子能力,Runtime能力。 - 昇腾计算服务层
昇腾计算服务层主要提供昇腾算子库AOL,通过神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等高性能算子加速计算;昇腾调优引擎AOE,通过算子调优OPAT、子图调优SGAT、梯度调优GDAT、模型压缩AMCT提升模型端到端运行速度。同时提供AI框架适配器Framework Adaptor用于兼容Tensorflow、Pytorch等主流AI框架。 - 昇腾计算编译引擎
昇腾计算编译层通过图编译器(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)等功能单元。 - 昇腾计算执行引擎
昇腾计算执行层负责模型和算子的执行,提供运行时库(Runtime)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。 - 昇腾计算基础层。
昇腾计算基础层主要为其上各层提供基础服务,如共享虚拟内存(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的实现分为单机实现,分布式实现。
温馨提示
文章内容如果写的存在问题欢迎留言指出,让我们共同交流,共同探讨,共同进步~~~
文章如果对你有帮助,动动你的小手点个赞,鼓励一下,给我前行的动力。
- 点赞
- 收藏
- 关注作者
评论(0)