PYTORCH 模型部署可先转为 ONNX 模型 ,利用Onnxruntime 进行端上C/C++部署,这样在速度上会快很多,但如果想更快一点,就可选择进一步再转为TF->TFLite部署。但是并不适合所有搭建的模型,如Pytorch 搭建模型时,用到的pad等等。
Onnx模型转为TF模型如下所示:
1、下载并安装Onnx-tf;onnx/onnx-tensorflow: Tensorflow Backend for ONNX (github.com)
python setup.py build
python setup.py install
2、输入转换命令:onnx-tf convert -i /path/to/input.onnx -o /path/to/output
/path/to/input.onnx :输入模型
/path/to/output :输出的pb 模型文件在/path/to/output 内;
如果能够转成功,则会得到TF的pb文件,可用tensorflow的库进行推理。若希望再进一步转为tflite的库,就可在pb的基础上再转一次。tflite库的优点再于:
1、有更高的推理速度;
2、库的容积更小,比Onnxruntime的库要小很多,有利于集成在App上。