开发者
下载

Pyatc 接口

产品支持情况

全量芯片支持。

功能说明

pyatc是ATC(Ascend Tensor Compiler)离线模型编译工具的Python封装接口,在功能上与ATC命令行工具完全等价,旨在为 Python用户提供更灵活的集成体验。

pyatc与ATC命令行工具的区别是:

  • ATC命令行工具:作为独立子进程启动,编译过程所使用的Python解释器由atc进程自行解析,可能与用户当前终端环境(如python3)不一致,容易引发依赖冲突或路径问题。
  • pyatc:直接在当前主进程中执行编译逻辑,复用用户当前的Python解释器及环境变量,确保编译环境与运行环境完全一致,避免了进程间的环境隔离问题。

调用方式

先参见环境准备完成相关环境变量的设置,然后根据实际使用场景选择以下任一入口:

  • 使用命令行入口:
    1
    pyatc [参数]
    
  • 使用Python模块入口:
    1
    python3 -m ge.pyatc [参数]
    

参数说明

pyatc的参数与ATC命令行工具完全一致,详细功能介绍请参见ATC离线模型编译工具

返回值说明

调用结束后通过进程退出码(exit code)表示执行结果:

  • 0:执行成功。
  • 非 0:执行失败,错误信息输出至标准输出。

调用示例

1
pyatc --model=resnet50.onnx --framework=5 --soc_version=<soc_version> --output=resnet50

<soc_version>取值或者查询方法如下:

  • 针对如下产品:在安装AI处理器的服务器执行npu-smi info命令进行查询,获取Name信息。实际配置值为AscendName,例如Name取值为xxxyy,实际配置值为Ascendxxxyy

    Atlas A2 训练系列产品 / Atlas A2 推理系列产品

    Atlas 200I/500 A2 推理产品

    Atlas 推理系列产品

    Atlas 训练系列产品

  • 针对 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ,在安装AI处理器的服务器执行npu-smi info -t board -i id -c chip_id命令进行查询,获取Chip NameNPU Name信息,实际配置值为Chip Name_NPU Name。例如Chip Name取值为AscendxxxNPU Name取值为1234,实际配置值为Ascendxxx_1234。其中:
    • id:设备id,通过npu-smi info -l命令查出的NPU ID即为设备id。
    • chip_id:芯片id,通过npu-smi info -m命令查出的Chip ID即为芯片id。
  • 针对Atlas 350 加速卡,在安装AI处理器的服务器执行npu-smi info -t board -i id命令进行查询,获取Chip NameNPU Name信息,实际配置值为Chip Name_NPU Name。例如Chip Name取值为AscendxxxNPU Name取值为1234,实际配置值为Ascendxxx_1234。

    其中,id为设备id,通过npu-smi info -l命令查出的NPU ID即为设备id。