1. TensorRT
TensorRT针对 NVIDIA 系列显卡具有其他框架都不具备的优势,如果运行在 NVIDIA 显卡上, TensorRT 一般是所有框架中推理最快的。一般的主流训练框架如 TensorFlow 和 Pytorch 都能将训练好的模型转换成 TensorRT 可运行的模型。当然了,TensorRT 的限制就是只能运行在 NVIDIA 显卡上,并且 kernel 未开源。
2. ONNXRuntime
ONNXRuntime是可以运行在多平台(Windows,Linux,Mac,Android,iOS)上的一款推理框架,它接受 ONNX 格式的模型输入,支持 GPU 和 CPU 的推理。唯一不足就是 ONNX 节点粒度较细,推理速度有时候比其他推理框架如 TensorRT 较低。
3. OpenVINO
OpenVINO是 Intel 家推出的针对 Intel 出品的 CPU 和 GPU 友好的一款推理框架,同时它可以对接不同训练框架如 TensorFlow,Pytorch,Caffe 等。不足之处可能是只支持 Intel 家的硬件产品。
4. NCNN,MNN
不同于以上三款推理框架,这两款框架都是针对手机端的部署。ncnn 是腾讯开源的,MNN 是阿里开源的。ncnn 的优势是开源较早,有非常稳定的社区,开源影响力也较高。mnn 开源略晚,但也是目前比较有影响力的手机端推理框架。
一般情况下,以上四种推理框架效率或者速度呈递减趋势.