一、onnx简介
在训练模型时可以使用很多不同的框架,比如 Pytorch, TensorFLow, MXNet,以及深度学习最开始流行的 Caffe 等等,这样不同的训练框架就导致了产生不同的模型结果包,在模型进行部署推理时就需要不同的依赖库,而且同一个框架比如 tensorflow 不同的版本之间的差异较大
为了解决这个混乱问题,LF AI 这个组织联合 Facebook, MicroSoft等公司制定了机器学习模型的标准,这个标准叫做ONNX, Open Neural Network Exchage,所有其他框架产生的模型包 (.pth, .pb) 都可以转换成这个标准格式,转换成这个标准格式后,就可以使用统一的 ONNX Runtime等工具进行统一部署。(和Java生成的中间文件可以在JVM上运行一样,onnx runtime引擎为生成的onnx模型文件提供推理功能)
onnx主页:
onnxruntime.ai
参考:
onnx标准 & onnxRuntime加速推理引擎_createexecutionproviderinstance cuda_path is set b_王小希ww的博客-CSDN博客
ONNX, ONNX Runtime, and TensortRT - Auriga IT