【2023 · CANN训练营第一季】新手笔记1

举报
tang121212 发表于 2023/05/14 11:36:55 2023/05/14
【摘要】 1、使用Estimator进行脚本训练开发的一般步骤为数据预处理 --> 模型构建 --> 运行配置 --> 执行训练2、昇腾计算服务层包括:昇腾算子库 昇腾调优引擎 框架适配器3、Modelarts中的开发工具包括:PyCharm Toolkit、Modelarts SDK、CodeLab4、Mindspore框架开发模型可以不用适配,直接在昇腾AI处理器上进行训练5、TensorFlow...

1、使用Estimator进行脚本训练开发的一般步骤为数据预处理 --> 模型构建 --> 运行配置 --> 执行训练

2、昇腾计算服务层包括:昇腾算子库 昇腾调优引擎 框架适配器

3、Modelarts中的开发工具包括:PyCharm Toolkit、Modelarts SDK、CodeLab

4、Mindspore框架开发模型可以不用适配,直接在昇腾AI处理器上进行训练

5、TensorFlow网络模型迁移到昇腾AI处理器有手工迁移和自动迁移两种迁移方式

6、昇腾异构计算架构CANN的逻辑架构:

昇腾计算服务层,提供了高性能的算子库AOL,以及昇腾调优引擎AOE,是昇腾AI处理器能够支持多种多样的人工智能算法、并优化执行性能的基础

昇腾计算编译层,通过图编译器将用户输入中间表达(intermediate Representataion, IR)的计算图编译成昇腾硬件可执行模型

昇腾计算执行层,负责模型和算子的执行,提供运行时库(Runtim)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing, DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing, AIPP)等功能单元

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

7、DVPP数字视觉预处理模块包含:

视频编解码

JPEG图片编解码

PNG图片解码

图片处理,抠图、缩放等

8、Modelarts训练的流程中包含:

注册华为云账号,授权Modelarts

将训练工程上传至OBS

安装Pycharm IDE及Toolkit插件

对Tensorflow训练代码进行NPU的迁移&适配

9、Estimator的训练脚本迁移时:如果原始模型中使用了tf.nn.dropout,建议修改为NPU亲和接口npu_ops.dropout,原始Tensorflow中的Estimator修改为NPUEstimator

10、ensorFlow模型迁移过程主要依赖CANN软件栈的框架适配器Framework Adaptor

11、使用Pycharm在Modelarts训练时:训练所需的数据集和工程会被上传至OBS,

训练生成的device侧日志会保存至OBS,训练期间可以在Modelarts查看NPU的使用情况

12、TensorFlow 1.15 训练脚本的自动迁移时:

Ascend平台提供了Tensorflow 1.15网络迁移工具,该工具适用于原生的Tensorflow训练脚本迁移场景;

CANN软件安装完成后,迁移工具在“tfplugin安装目录/tfplugin/latest/python/site-packages/npu_bridge/convert_tf2npu/”目录下;

要求原始脚本仅使用TensorFlow 1.15官方API和Horovod官方API。

13、昇腾提供的AI框架是:Mindspore

14、AscendCL的优势包括:

高度抽象:算子编译、加载、执行的API归一,相比每个算子一个API,AscendCL大幅减少API数量,降低复杂度

向后兼容:AscendCL具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行

零感知芯片:一套AscendCL接口可以实现应用代码统一,多款昇腾处理器无差异

15、ATC工具的特点:

ATC工具将开源框架的网络模型(如Caffe、TensorFlow等)转换成Davinci架构专用的模型

ATC工具可以将Ascend IR定义的单算子描述文件转换为昇腾AI处理器支持的离线模型

ATC工具在转换过程中会进行算子调度优化、权重数据重排、内存使用优化等具体操作

16、模型转换工具的名称是ATC

17、关于自动迁移:

自动迁移指通过工具对原始训练脚本进行AST语法树扫描

自动迁移中可自动分析原生Tensorflow API在昇腾AI处理器上的支持度

自动迁移可将原始的TensorFlow训练脚本自动迁移成昇腾AI处理器支持的脚本

对于无法自动迁移的API,可以参考工具输出的迁移报告,对训练脚本进行相应的适配修改

18、关于AscendCL初始化:

AscendCL初始化时,可以通过json配置文件配置Dump信息、Profiling采集信息等

如果默认配置已满足需求,无需修改,可向aclInit接口中传入NULL,或者可将配置文件配置为空json串(即配置文件中只有{})

使用AscendCL接口开发应用时,必须先调用aclInit接口,否则可能会导致后续系统内部资源初始化出错,进而导致其它业务异常

19、TensorFlow网络模型在昇腾AI处理器上跑起来需要经过以下环节:精度调优、模型迁移、模型训练、性能调优。

20、Pycharm配置Modelarts上训练任务时,需要填写的参数:启动训练脚本路径、OBS上存放训练日志的路径、OBS上训练数据集所在路径、训练所用的AI引擎

21、Modelarts的CodeLab开发工具中的启动方式:Notebook、Terminal、Console。

22、AscendCL能够进行:模型加载与执行、运行时资源管理、算子加载与执行、图像/视频处理

23、昇腾AI处理器内的计算单元包括:

AI CPU,负责执行不适合跑在AI Core上的算子,例如非矩阵类的复杂逻辑处理

AI Core,昇腾AI处理器内的AI计算加速单元

DVPP,昇腾AI处理器内置的图像处理单元

AIPP,可在AI Core上完成数据预处理

24、使用ATC工具对Caffe框架的原始模型进行转换时,需要用到*.prototxt、*.caffemodel

文件

25、昇腾硬件可以用于推理的有:Atlas 200 AI加速模块 、Atlas 500智能小站、Atlas 800 训练服务器、Atlas 300V 视频解析卡。

26、不同型号的昇腾AI处理器有不同的使用场景,通常我们使用昇腾910 处理器进行神经网络模型的训练

27、用于训练的昇腾 AI处理器上支持Tensorflow的三种API开发的训练脚本迁移,分别是estimator、 keras 、sess.run 。

28、昇腾软硬件基础平台中包括应用使能、AI框架、异构计算架构、Atlas系列硬件等,其中异构计算架构对下适配不同的硬件形态,对上适配不同的AI框架,发挥着承上启下的关键作用。

29、模型迁移之前需要做的准备工作:在GPU或CPU进行训练复现,训练跑通

在GPU或CPU进行训练复现,Loss收敛

30、手工方式迁移TensorFlow1.15训练脚本时,可以通过python语句导入NPU相关库文件:

from npu_bridge.npu_init import *

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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