昇腾 auto tune 操作指南

释放双眼,带上耳机,听听看~!
本文介绍了昇腾 auto tune 的操作流程和环境配置,包括可选环境变量的说明以及如何使用ATC工具进行模型转换并开启 auto tune。同时详细解释了 RL 模式支持的算子列表。

本文正在参加谈谈昇腾 auto tune》、《再谈昇腾 auto tune》自己留的坑,之前两篇其实主要在说昇腾 auto tune 的一些 由来,以及 auto tune 搜索算法的原理,感兴趣的同学可以去瞧瞧~

  这篇主要写昇腾 auto tune 怎么用。

  整个昇腾 auto tune 模块的运行流程如下:

昇腾 auto tune 操作指南

  主要步骤如下:

  • (1) 首先最原始的开源框架模型传入GE、FE 进行图准备 (输入shape、dtype校验,算子选择等) 以及 图优化 (算子融合、常量折叠等);
  • (2) 然后进入调优选择,首先会判断是否匹配到知识库,若匹配到则判断是否重新调优,若没有匹配到则开始直接调优。不管怎么样,调优后的策略都会和内建策略或已经存在的策略进行性能比对,选择一个更加好的策略放到新的知识库里面;
  • (3) 使用知识库编译算子;
  • (4) 生成离线模型;

   那么 auto tune 调优怎么样操作呢,咱们来看。

########### 环境变量配置 ###########
#### 必选环境变量
# CANN基础环境变量
source .${install_path}/set_env.sh
# python环境
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/python3.7.5/lib
​
#### 可选环境变量
# auto tune可选环境变量
export ASCEND_DEVICE_ID=0
export TE_PARALLEL_COMPILER=2
export TUNE_BANK_PATH=/path/custom_tune_bank
export REPEAT_TUNE=False
export TUNE_OPS_NAME=conv_layers/Pad_0   # 网络中需要调优的节点
export ENABLE_TUNE_BANK=True# 离线调优环境变量
export ENABLE_TUNE_DUMP=True# 离线调优场景可选环境变量
export TUNE_DUMP_PATH=/path/DumpData

   这里对 auto tune 可选环境变量进行一个说明。

昇腾 auto tune 操作指南

  然后再执行 ATC 工具进行模型转换时,通过 --auto_tune_mode="xx" 开关来开启 auto tune,auto_tune_mode 有三种取值: “RL, GA”“RL”“GA”

昇腾 auto tune 操作指南

   其中 RL 模式支持的算子有:Abs、AbsGrad、AcosGrad、Add、AsinGrad、AsinhGrad、AtanGrad、BiasAddGrad、BNTrainingUpdate、Cast、Ceil、ConcatD、Cos、Cosh、Div、DynamicRNN、Elu、EluGrad、Equal、Erf、Erfc、Exp、Expm1、Floor、Gelu、GeluGrad、Inv、InvGrad、L2Loss、L2Normalize、L2NormalizeGrad、Log、LogSoftmaxV2、LogSoftmaxGrad、Log1p、Maximum、Mod、Mul、Neg、OnesLike、Pow、PReluGrad、Reciprocal、ReciprocalGrad、ReduceAllD、ReduceAnyD、ReduceMaxD、ReduceMeanD、ReduceSumD、Relu、ReluGrad、Relu6、Relu6Grad、Rint、Round、Rsqrt、RsqrtGrad、Selu、Sigmoid、SigmoidCrossEntropyWithLogits、SigmoidGrad、Sign、Sinh、SmoothL1Loss、SoftmaxV2、SoftmaxGrad、Softplus、Softsign、SplitD、Sqrt、SqrtGrad、Square、StridedSliceD、Sub、Tanh、TanhGrad、SoftmaxCrossEntropyWithLogits、GNTrainingReduce、GNTrainingUpdate、CosineEmbeddingLoss、INTrainingReduceV2、INTrainingUpdateV2。

  GA 模式支持的算子有 (主要是 cube 类算子):AvgPool、Conv2D、Conv2DBackpropInput、Conv2DBackpropFilter、Conv2DCompress、Conv2DTranspose、Conv3D、Conv3DBackpropInput、Conv3DBackpropFilter、Deconvolution、GEMM、MatMul、MatMulV2、BatchMatMul、BatchMatMulV2、MatMulV2Compress、FullyConnection、FullyConnectionCompress、Pooling。

   调优完成后,如果满足自定义知识库生成条件,则会生成自定义知识库,并存储到相应路径下,同样会直接生成调优后的离线模型。下图是调优过程的部分日志:

昇腾 auto tune 操作指南

  好了,以上分享了 三谈昇腾 auto tune,希望我的分享能对你的学习有一点帮助。

 【公众号传送】

《极智AI | 三谈昇腾 auto tune》

昇腾 auto tune 操作指南

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

YOLOX专栏:内容详尽、实用易懂

2023-12-15 15:01:14

AI教程

马尔科夫博弈与PPAD计算复杂度解析

2023-12-15 15:15:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索