news 2026/9/10 16:07:55

CANN/ge ATC工具环境设置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ge ATC工具环境设置

准备环境

【免费下载链接】geGE(Graph 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 PYTHONPATH=xxxx:$PYTHONPATH
  1. 必选环境变量

    • 设置公共环境变量

      安装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文件,使其永久生效,方法如下:

    1. 以安装用户在任意目录下执行vi ~/.bashrc,在该文件最后添加上述内容。
    2. 保存文件中,执行source ~/.bashrc使环境变量生效。
  2. 可选环境变量

    1. 日志落盘、打屏与重定向。

      • 日志落盘

        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_STDOUT=1
        • atc模型转换命令中,设置--log参数(不能设置为null)。

        关于日志的更多信息请参见《日志参考》。

      • 日志重定向

        如果不想日志落盘,而是重定向到文件,则模型转换前需要设置上述的日志打屏环境变量,并且atc命令需要设置--log参数(不能设置为null),样例如下:

        atc xxx --log=debug >log.txt

        _xxx_请替换为实际参数。

    2. 开启算子并行编译功能。

      若网络模型较大,模型转换过程中,可设置如下环境变量,开启算子的并行编译功能。

      export TE_PARALLEL_COMPILER=xxx

      环境变量TE_PARALLEL_COMPILER的值代表算子编译进程数(配置为整数),_xx_请替换为具体整体,取值范围为1~32,默认值为8;当取值大于1时开启算子的并行编译功能,建议不超过:CPU核数*80%/AI处理器个数。其中AI处理器个数查询方法如下:

      在安装AI处理器的环境中执行“npu-smi info -l”命令,回显信息中的Total Count即为对应的个数。

    3. 打印模型转换过程中各阶段的图描述信息

      export DUMP_GE_GRAPH=1

      上述环境变量控制dump图的内容多少,取值如下:

      • 1:包含连边关系和数据信息的完整版dump。
      • 2:不含有权重等数据的基本版dump。
      • 3:只显示节点关系的精简版dump。

      设置上述环境变量后,还可以设置如下环境变量,控制dump图的个数。

      export DUMP_GRAPH_LEVEL=2

      此环境变量只有在DUMP_GE_GRAPH开启时才生效,并且默认为2;支持如下两种配置方式,两种方式均是控制图落盘的个数,用户可以按需使用,注意两种配置方式不支持混合使用:

      • 配置数值,取值如下:

        • 1:dump所有阶段的图。
        • 2:dump白名单阶段的图。具体白名单图请参见表1中的"是否白名单"列。
        • 3:dump最后的生成图,即经过GE(Graph Engine,图引擎)优化、编译后的图。
        • 4:dump最早的生成图,即经过GE解析映射算子后,给到软件栈的编译入口图,此时图结构尚未经过GE的编译优化。
      • 配置按照|分隔的字符串,配置如下:

        例如配置为"aa|bb",则表示dump出名称包含aa和bb的图,aa和bb需要指定为图编译流程中的合法字符串,合法字符串的获取可以从全量的dump图得到。

      设置上述环境变量后,在执行atc命令的当前路径会生成如下文件:

      • ge_onnx*.pbtxt:基于ONNX的模型描述结构,可以使用Netron等可视化软件打开。

      • ge_proto*.txt:protobuf格式存储的文本文件,该文件可以转成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图详细信息。

    4. 更多可选环境变量请参见《环境变量参考》。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 16:06:56

【JAVA毕业设计】基于 Vue+SpringBoot 技术架构的证券模拟交易教学系统的设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/9/10 16:05:36

vue2-elementUI-初始化启动项目-git

前置基础 资料下载-阿里云盘 vueaxioselement-uinpmvscode 初始化项目 1.创建vue2工程 1.1 vue create projectName1.2 选择 1.3 初始化 vue-cli 的核心步骤&#xff1a; Manually select features (*) Babel ( ) TypeScript ( ) Progressive Web App (PWA) Support …

作者头像 李华
网站建设 2026/9/10 16:05:33

电商运营分析手册:从数据驱动到精细化运营

1. 电商运营分析手册的核心价值 电商行业经过多年发展&#xff0c;已经从粗放式增长进入精细化运营阶段。在这个背景下&#xff0c;一份系统化的《电商运营分析手册》对从业者而言就像航海图对水手一样重要。我见过太多团队在缺乏系统方法论的情况下&#xff0c;仅凭经验和直觉…

作者头像 李华
网站建设 2026/9/10 16:04:59

轮式双臂机器人系统架构设计与工程实践

1. 轮式双臂机器人系统架构设计实战 轮式双臂机器人作为移动操作平台的典型代表&#xff0c;在仓储物流、工业检测、服务接待等领域展现出独特优势。这类系统需要同时解决移动底盘的精确定位、机械臂的灵活操作以及多传感器数据融合等复杂问题。下面我将结合自己参与的三个实际…

作者头像 李华
网站建设 2026/9/10 16:04:53

tiny11builder 构建失败?3 步修复 oscdimg.exe 缺失

tiny11builder 构建失败&#xff1f;3 步修复 oscdimg.exe 缺失 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder Failed to download oscdimg.exe. 看到这行红字&a…

作者头像 李华
网站建设 2026/9/10 16:04:43

计算机JAVA毕设实战-基于前后端分离架构的股票交易模拟教学系统的设计与实现 基于 Vue 和 SpringBoot 的股票交易教学平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华