AI开发平台MODELARTS-06 BERT和YOLO等常用小模型适配NPU推理指导:Step5 转换模型文件
Step5 转换模型文件
将onnx模型文件转换为mindir格式模型文件。转换过程中涉及到的参数需要查看原始onnx文件,此处提供查看的脚本文件get_onnx.py,具体的脚步文件内容见附录:get_onnx.py脚本内容。
模型转换命令如下。
export model_name="model" export LD_LIBRARY_PATH=/home/ma-user/anaconda3/envs/python-3.9.10/lib/:${LD_LIBRARY_PATH} converter_lite --modelFile=./${model_name}.onnx --outputFile=./${model_name} --fmk=ONNX --saveType=MINDIR --optimize=ascend_oriented --inputShape="input_ids:4,96;attention_mask:4,96;token_type_ids:4,96"
- --modelFile:模型名称。
- --outputFile:输出模型名称。模型名称无需添加.mindir后缀,添加后对后续测试流程存在一定影响。
- --inputShape:根据onnx输出的name:shape进行修改,可以通过get_onnx.py脚本查看,如图1所示。
如需进行AOE优化,则需配置一个config.ini文件,文件内容如下。
[ascend_context] plugin_custom_ops=FlashAttention,GroupNormSilu,GeGluV2 aoe_mode="subgraph tuning, operator tuning"
AOE优化命令如下,只需将以上模型转换命令添加一个--configFile=config.ini即可。
converter_lite --modelFile=./${model_name}.onnx -- outputFile=./${model_name} --fmk=ONNX --saveType=MINDIR --optimize=ascend_oriented --inputShape="input_ids:4,96;attention_mask:4,96;token_type_ids:4,96" --configFile=config.ini
benchmark测试命令如下。
benchmark --device=Ascend --modelFile=${model_name}.mindir