开发者
资源

模型编译

以运行用户登录开发环境。使用ATC工具将开源框架的网络模型(如ONNX、TensorFlow等)编译成*.om模型文件。

此处以转换ONNX模型为例给出命令示例,执行命令的用户需具有命令中相关路径的可读、可写权限。

atc --model=$HOME/module/resnet50*.onnx --framework=5 --output=$HOME/module/out/onnx_resnet50 --soc_version=<soc_version>  

各参数的解释如下,详细约束说明请参见ATC离线模型编译工具

  • --model:ResNet-50网络的模型文件的路径。
  • --framework:原始框架类型。5表示ONNX。
  • --output:resnet50.om模型文件的路径。请注意,记录保存该om模型文件的路径,后续开发应用时需要使用。
  • --soc_version:AI处理器的版本。<soc_version>请根据实际情况替换。

    如果无法确定当前设备的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。

注意事项:

  • 如果模型转换时,提示有不支持的算子,请先参见Ascend C算子开发完成自定义算子开发,再重新转换模型。
  • 如果模型转换时,提示有算子编译相关问题,但根据报错信息无法定位问题、需要联系技术支持时(您可以获取日志后单击Link联系技术支持。),则需设置DUMP_GE_GRAPH、DUMP_GRAPH_LEVEL环境变量,再重新转换模型,收集模型转换过程中各个阶段的图描述信息。关于环境变量以及图描述信息的说明,请参见ATC离线模型编译工具中的“参考 > dump图详细信息