准备动作
获取ATC工具
参见《CANN 软件安装指南》进行开发环境搭建,并确保开发套件包Ascend-cann-toolkit安装完成。该场景下ATC工具安装在“Ascend-cann-toolkit安装目录/ascend-toolkit/{version}/{arch}-linux/atc/bin”下。
设置环境变量
- 使用export方式设置环境变量后,环境变量只在当前窗口有效。如果用户之前在.bashrc文件中设置过ATC安装路径的环境变量,则在执行如下命令之前,需要先手动删除原来设置的ATC安装路径环境变量。
- 若开发环境架构为Arm(aarch64),模型转换耗时较长,则可以参考开发环境架构为Arm(aarch64),模型转换耗时较长解决。
- 必选环境变量(如下环境变量中${install_path}以开发套件包Ascend-cann-toolkit使用默认安装路径/usr/local/Ascend/ascend-toolkit/latest为例进行说明)
export PATH=/usr/local/python3.7.5/bin:${install_path}/atc/ccec_compiler/bin:${install_path}/atc/bin:$PATH export PYTHONPATH=${install_path}/atc/python/site-packages:${install_path}/atc/python/site-packages/auto_tune.egg/auto_tune:${install_path}/atc/python/site-packages/schedule_search.egg:$PYTHONPATH export LD_LIBRARY_PATH=${install_path}/atc/lib64:$LD_LIBRARY_PATH export ASCEND_OPP_PATH=${install_path}/opp
- 可选环境变量
- 日志打屏或重定向。
- 如果当前环境有slog进程(可使用ps -ef | grep slog命令查看),日志默认生成并记录在日志文件中,如需日志打屏显示或重定向到文件,则请在执行atc命令的当前窗口设置如下环境变量,然后再执行atc命令(atc命令中通过设置--log=xx参数显示相应的日志级别,关于该参数的使用方法请参见--log)
export SLOG_PRINT_TO_STDOUT=1
- 如果当前环境没有slog进程,日志默认直接打屏显示(通过设置--log=xx参数可以看到显示相应的日志级别),如需重定向到文件,请设置SLOG_PRINT_TO_STDOUT=1环境变量。
- 如果当前环境有slog进程(可使用ps -ef | grep slog命令查看),日志默认生成并记录在日志文件中,如需日志打屏显示或重定向到文件,则请在执行atc命令的当前窗口设置如下环境变量,然后再执行atc命令(atc命令中通过设置--log=xx参数显示相应的日志级别,关于该参数的使用方法请参见--log)
- 开启算子并行编译功能。若网络模型较大,可设置如下环境变量,模型转换过程中开启算子的并行编译功能。
export TE_PARALLEL_COMPILER=xx
TE_PARALLEL_COMPILER的值代表算子并行编译进程数(配置为整数),默认值为8,当大于0时开启并行编译。建议配置为:CPU核数*80%/昇腾AI处理器个数,向上取整。
- 打印模型转换过程中各个阶段的图描述信息。
export DUMP_GE_GRAPH=1
上述环境变量控制dump图的内容多少:取值为1,全量dump;取值为2:不含有权重等数据的基本版dump;取值为3:只显示节点关系的精简版dump。
设置上述环境变量后,还可以设置如下环境变量,控制dump图的个数。
export DUMP_GRAPH_LEVEL=1
取值为1,dump所有图;取值为2:dump除子图外的所有图;取值为3:dump最后的生成图,默认值为2。
设置上述变量后,在执行atc命令的当前路径会生成相应的图文件。
- 日志打屏或重定向。