ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。

目前官方支持加载ONNX模型并进行推理的深度学习框架有: Caffe2, PyTorch, MXNet,ML.NET,TensorRT 和 Microsoft CNTK,并且 TensorFlow 也非官方的支持ONNX。使得我们的算法及模型在不同的框架之间的迁移

  • 安装paddle2onnx转换工具

pip install paddle2onnx
  • 转换命令

paddle2onnx --model_dir /workspace/PaddleVideo-develop/fat_inference_pptsm_6.27 \
             --model_filename ./model.pdmodel \
             --params_filename ./model.pdiparams\
             --save_file ./model.onnx \
             --enable_dev_version True
  • 运行onnx格式的模型

import onnx
import onnxruntime as rt

input_img=[.....]
#onnx inference
sess=rt.InferenceSession(onnx_path)
input_name=sess.get_inputs()[0].name
output_name=sess.get_outputs()[0].name
result=sess.run([output_name],{input_name:input_img[0]})

# print(np.array(result))

更多推荐

paddle模型转成ONNX