做淘宝客需要建网站吗,seo系统培训,网上免费咨询律师电话,扬州网站建设小程序ATC#xff08;Ascend Tensor Compiler#xff09;是异构计算架构CANN体系下的模型转换工具#xff1a;它可以将开源框架的网络模型#xff08;如TensorFlow等#xff09;以及Ascend IR定义的单算子描述文件转换为昇腾AI处理器支持的离线模型#xff1b;模型转换过程中Ascend Tensor Compiler是异构计算架构CANN体系下的模型转换工具它可以将开源框架的网络模型如TensorFlow等以及Ascend IR定义的单算子描述文件转换为昇腾AI处理器支持的离线模型模型转换过程中ATC会进行算子调度优化、权重数据重排、内存使用优化等具体操作对原始的深度学习模型进行进一步的调优从而满足部署场景下的高性能需求使其能够高效执行在昇腾AI处理器上。
本期就分享几个关于ATC环境搭建问题的典型案例并给出原因分析及解决方法
未设置环境变量导致ATC工具无法使用模型转换时Python版本不匹配导致模型转换失败
01 未设置环境变量导致ATC工具无法使用
问题现象描述
输入模型转换的命令后按回车提示如下信息
bash: atc: command not found
原因分析
ATC工具在CANN软件包中以二进制形式存在使用该工具前必须通过环境变量使能二进制才可以运行工具若使用atc --help命令回车仍旧回显上述信息则说明ATC工具无法使用。
解决措施
ATC工具运行前先设置运行所需环境变量。
以root用户安装Ascend-cann-toolkit包
. /usr/local/Ascend/ascend-toolkit/set_env.sh
#若开发套件包Ascend-cann-toolkit在非昇腾设备上安装则如下环境变量必须执行用于设置动态链接库所在路径否则无需执行
export LD_LIBRARY_PATH/usr/local/Ascend/ascend-toolkit/latest/arch-linux/devlib:$LD_LIBRARY_PATH 以非root用户安装Ascend-cann-toolkit包
. $HOME/Ascend/ascend-toolkit/set_env.sh
#若开发套件包Ascend-cann-toolkit在非昇腾设备上安装则如下环境变量必须执行用于设置动态链接库所在路径否则无需执行
export LD_LIBRARY_PATH$HOME/Ascend/ascend-toolkit/latest/arch-linux/devlib:$LD_LIBRARY_PATH
其中arch请替换为操作系统具体架构。
设置环境变量后使用atc --help命令回车若回显了atc相关参数信息则说明工具可以正常使用可以进行后续的模型转换。
02 模型转换时Python版本不匹配导致模型转换失败
问题现象描述
输入模型转换的命令后按回车提示如下信息
ATC run failed, Please check the detail log, Try atc --help for more information
E40002: The current Python version is [Python 3.6.9]. The system supports only [Python 3.7] or later.TraceBack (most recent call last):[GraphOpt][InitializeInner][InitTbeFunc] Failed to init tbe.[FUNC:InitializeInner][FILE:tbe_op_store_adapter.cc][LINE:1585][SubGraphOpt][PreCompileOp][InitAdapter] InitializeAdapter adapter [tbe_op_adapter] failed! Ret [4294967295][FUNC:InitializeAdapter][FILE:op_store_adapter_manager.cc][LINE:86][SubGraphOpt][PreCompileOp][Init] Initialize op store adapter failed, OpsStoreName[tbe-custom].[FUNC:Initialize][FILE:op_store_adapter_manager.cc][LINE:133][FusionMngr][Init] Op store adapter manager init failed.[FUNC:Initialize][FILE:fusion_manager.cc][LINE:109]PluginManager InvokeAll failed.[FUNC:Initialize][FILE:ops_kernel_manager.cc][LINE:101]OpsManager initialize failed.[FUNC:InnerInitialize][FILE:gelib.cc][LINE:238] GELib::InnerInitialize failed.[FUNC:Initialize][FILE:gelib.cc][LINE:167]
原因分析
ATC工具进行模型编译或者单算子编译时依赖Python版本当前要求的Python版本为Python3.7.x3.7.0~3.7.11、Python3.8.x3.8.0~3.8.11、Python3.9.x3.9.0~3.9.7。查看报错信息发现当前使用的Python版本比如上述的Python 3.6.9并不在版本要求范围内。
解决措施
若还未安装符合要求的Python版本则优先安装对应的Python版本若已安装则执行如下环境变量指定需要使用的版本以Python3.7.5为例设置相关环境变量
#如果用户环境存在多个python3版本则指定使用python3.7.5版本
export PATH/usr/local/python3.7.5/bin:$PATH
#设置python3.7.5库文件路径
export LD_LIBRARY_PATH/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH 03 更多介绍
[1]昇腾文档中心https://www.hiascend.com/zh/document
[2]昇腾社区在线课程https://www.hiascend.com/zh/edu/courses
[3]昇腾论坛https://www.hiascend.com/forum