
准备环境【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge获取ATC工具进行模型转换前请参见《CANN 软件安装》完成环境搭建并确保已安装CANN Toolkit开发套件包和ops算子包**针对8.5.0及之后版本**必须安装与目标AI处理器相匹配的ops算子包否则会导致编译失败。以root用户的默认安装路径为例ATC工具安装在“/usr/local/Ascend/cann/bin”目录中。支持在同一开发环境中部署多个芯片的算子包实现多芯片场景下的模型转换可通过在不同路径下分别安装CANN Toolkit开发套件及对应芯片如芯片A、芯片B的算子包例如路径1安装CANN Toolkit 芯片A的ops算子包路径2安装CANN Toolkit 芯片B的ops算子包然后执行不同路径下的环境变量实现不同芯片间算子包的切换满足多芯片环境下的开发与部署需求。设置环境变量[!NOTE]说明使用export方式设置环境变量后环境变量只在当前窗口有效用户可以按需将以上命令写入环境变量配置文件如.bashrc文件。使用ATC工具进行模型转换的过程中会自动将ATC工具所在位置“../python/site-packages”目录下算子编译依赖的Python库写入PYTHONPATH环境变量。 若算子实现时用户引入了上述依赖外的其他Python依赖请自行添加PYTHONPATH的环境变量配置引入的Python依赖所在路径如下所示 export PYTHONPATHxxxx:$PYTHONPATH必选环境变量设置公共环境变量安装CANN软件后使用CANN运行用户进行编译、运行时需要以CANN运行用户登录环境执行如下环境变量source /usr/local/Ascend/cann/set_env.sh #若CANN Toolkit开发套件包和ops算子包在非昇腾设备上安装则如下环境变量必须执行用于设置动态链接库所在路径否则无需执行 export LD_LIBRARY_PATH/usr/local/Ascend/cann/arch-linux/devlib:$LD_LIBRARY_PATH其中/usr/local/Ascend/为root用户的默认安装路径请根据实际情况进行替换_arch_请替换为操作系统具体架构。设置Python相关环境变量模型编译依赖Python以Python3.7.5为例请以CANN软件包运行用户执行如下命令设置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上述环境变量只在当前窗口生效用户可以将上述命令写入~/.bashrc文件使其永久生效方法如下以安装用户在任意目录下执行vi ~/.bashrc在该文件最后添加上述内容。保存文件中执行source ~/.bashrc使环境变量生效。可选环境变量日志落盘、打屏与重定向。日志落盘atc命令执行过程中日志默认落盘到如下路径$HOME/ascend/log/debug/plog/plog-pid_*.log调试日志。调试日志场景由于--log默认值为null即不输出日志若上述路径存在日志信息则为atc进程之外的其他日志信息比如依赖Python相关信息若想要日志体现atc进程相关信息则--log设置为除null以外的其他取值。$HOME/ascend/log/run/plog/plog-pid_*.log运行日志。$HOME/ascend/log/security/plog/plog-pid_*.log安全日志。pid代表进程ID“*”表示该日志文件创建时的时间戳。日志打屏atc命令执行过程中日志默认不打屏如需打屏显示则请在执行atc命令的当前窗口设置打屏环境变量export ASCEND_SLOG_PRINT_TO_STDOUT1atc模型转换命令中设置--log参数不能设置为null。关于日志的更多信息请参见《日志参考》。日志重定向如果不想日志落盘而是重定向到文件则模型转换前需要设置上述的日志打屏环境变量并且atc命令需要设置--log参数不能设置为null样例如下atc xxx --logdebug log.txt_xxx_请替换为实际参数。开启算子并行编译功能。若网络模型较大模型转换过程中可设置如下环境变量开启算子的并行编译功能。export TE_PARALLEL_COMPILERxxx环境变量TE_PARALLEL_COMPILER的值代表算子编译进程数配置为整数_xx_请替换为具体整体取值范围为1~32默认值为8当取值大于1时开启算子的并行编译功能建议不超过CPU核数*80%/AI处理器个数。其中AI处理器个数查询方法如下在安装AI处理器的环境中执行“npu-smi info -l”命令回显信息中的Total Count即为对应的个数。打印模型转换过程中各阶段的图描述信息。export DUMP_GE_GRAPH1上述环境变量控制dump图的内容多少取值如下1包含连边关系和数据信息的完整版dump。2不含有权重等数据的基本版dump。3只显示节点关系的精简版dump。设置上述环境变量后还可以设置如下环境变量控制dump图的个数。export DUMP_GRAPH_LEVEL2此环境变量只有在DUMP_GE_GRAPH开启时才生效并且默认为2支持如下两种配置方式两种方式均是控制图落盘的个数用户可以按需使用注意两种配置方式不支持混合使用配置数值取值如下1dump所有阶段的图。2dump白名单阶段的图。具体白名单图请参见表1中的是否白名单列。3dump最后的生成图即经过GEGraph Engine图引擎优化、编译后的图。4dump最早的生成图即经过GE解析映射算子后给到软件栈的编译入口图此时图结构尚未经过GE的编译优化。配置按照|分隔的字符串配置如下例如配置为aa|bb则表示dump出名称包含aa和bb的图aa和bb需要指定为图编译流程中的合法字符串合法字符串的获取可以从全量的dump图得到。设置上述环境变量后在执行atc命令的当前路径会生成如下文件ge_onnx*.pbtxt基于ONNX的模型描述结构可以使用Netron等可视化软件打开。ge_proto*.txtprotobuf格式存储的文本文件该文件可以转成JSON格式文件方便用户定位问题。该文件与ge_onnx*.pbtxt一般成对出现但是ge_proto*.txt比ge_onnx*.pbtxt文件会多string类型的属性信息因此ge_proto*.txt显示得更完整用户选择其中一种文件打开。由于ge_proto*.txt文件结构相比ge_onnx*.pbtxt已经做了文件大小的优化因此DUMP_GE_GRAPH环境变量设置为2或3对ge_proto*.txt文件效果相同都显示为不含有权重等数据的基本版dump。ge_readable*.txt可选类似Dynamo fx图风格的高可读性文本文件。该类型的文件只在设置了DUMP_GRAPH_FORMAT环境变量且取值中包括“readable”才会生成。上述每个文件对应模型编译过程中的一个步骤每个文件中包括完成该步骤所涉及的所有算子关于dump图的详细信息请参见dump图详细信息。更多可选环境变量请参见《环境变量参考》。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考