昇腾社区首页
中文
注册

SavedModel模型转换.om模型

简介

本章节主要介绍如何使用saved_model2om.py工具将训练保存的SavedModel格式的模型转换为.om格式的模型,在部署TF Serving时使用转换后的.om模型可以缩短编译时间从而提升TF Serving部署性能。

参数说明

表1 参数说明

参数

参数说明

取值示例

--input_path

  • 原始SavedModel模型文件的输入路径。
  • 必选。

/home/HwHiAiUser/inputpath/model

--output_path

  • 转换成功后.om模型文件的输出路径。
  • 必选。

/home/HwHiAiUser/outputpath/model

--input_shape

  • 输入模型的shape值,格式为"name1:shape;name2:shape;name3:shape"。当设置input_shape时,shape中未明确定义的维度将会被自动设置为1。
  • 可选。

input:16,224,224,3

--soc_version

  • 输出.om模型的芯片类型。当设置--profiling参数时,无需配置此参数,由当前执行转换的设备决定。
  • 必选。

Ascend910

--profiling

  • 设置此参数时,则会开启AOE调优。(该参数配置后无需再指定job_type)。
    • 取值为1时,启用子图调优;
    • 取值为2时,启用算子调优。
  • 如需进行子图或者算子调优,则该参数必选。

1

--method_name

  • 配置TF Serving运行时推理的方法,如果不配置此参数,则会从原始savedmodel模型文件中获取。
  • 可选。

/tensorflow/serving/predict

该工具同时支持ATC和AOE工具中的参数:

执行转换

  1. 下载模型转换工具“saved_model2om.py”至服务器的任一目录,例如上传到$HOME/tools/目录下,无需安装。
  2. 执行如下命令将SavedModel模型转换为离线.om模型。
    python3 saved_model2om.py --input_path "原始SavedModel文件路径" --output_path "om文件输出路径" --input_shape "输入模型的shape值" --soc_version "芯片类型" 

    如果在转换的过程中需要进行子图或者算子调优,请执行以下命令。

    python3 saved_model2om.py --input_path "原始SavedModel文件路径" --output_path "om文件输出路径" --input_shape "输入模型的shape值" --profiling "子图调优或者算子调优"
  3. 转换成功后,会在指定的output_path下生成.om模型文件以及用于加载.om模型文件供TF Serving使用的SavedModel文件,文件格式为{om_name}_{timestamp}。