readme.md 2.9 KB
Newer Older
风吴痕's avatar
风吴痕 已提交
1 2
- https://www.cvmart.net/community/detail/7040
- https://www.cvmart.net/community/detail/5609
风吴痕's avatar
update  
风吴痕 已提交
3
- https://github.com/pytorch/TensorRT
风吴痕's avatar
风吴痕 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

# 1、训练模型 python训练 (略过)
# 2、模型推理部署
- python推理 纯pytorch,onnx,openvino,tensorrt(pytorch-tensorrt)
- C++推理 libtorch,c++ onnx,c++ openvino,c++ tensorrt
- 模型压缩,蒸馏,剪枝,量化等 (nncf,nni,distiller,pytorch-quantization,pytorch.fx,TensorRT-PyTorch-Quantization)
- 部署 小服务flask,QT(Pyside6),gradio;NCNN,MNN,TVM,QNNPACK,Mediapipe

| 模型推理部署框架 | 应用平台                                                     |
| ---------------- | ------------------------------------------------------------ |
| NCNN             | 移动端                                                       |
| OpenVINO         | CPU,GPU,嵌入式平台都可以使用,尤其是在CPU上首选OPenVINO。DepthAI嵌入式空间AI平台。 |
| TensorRT         | 只能用在NIVDIA的GPU上的推理框架。NIVDIA的Jetson平台。        |
| Mediapipe        | 服务端,移动端,嵌入式平台,TPU。                            |


### 研发单位:

- 腾讯公司开发的移动端平台部署工具——NCNN;
- Intel公司针对自家设备开开发的部署工具——OpenVINO;
- NVIDIA公司针对自家GPU开发的部署工具——TensorRT;
- Google针对自家硬件设备和深度学习框架开发的部署工具——Mediapipe;
- 由微软、亚马逊 、Facebook 和 IBM 等公司共同开发的开放神经网络交换格式——ONNX;

### 如何选择:

- ONNXRuntime 是可以运行在多平台 (Windows,Linux,Mac,Android,iOS) 上的一款推理框架,它接受 ONNX 格式的模型输入,支持 GPU 和 CPU 的推理。唯一不足就是 ONNX 节点粒度较细,推理速度有时候比其他推理框架如 TensorRT 较低。
- NCNN是针对手机端的部署。优势是开源较早,有非常稳定的社区,开源影响力也较高。
- OpenVINO 是 Intel 家出的针对 Intel 出品的 CPU 和 GPU 友好的一款推理框架,同时它也是对接不同训练框架如 TensorFlow,Pytorch,Caffe 等。不足之处可能是只支持 Intel 家的硬件产品。
- TensorRT 针对 NVIDIA 系列显卡具有其他框架都不具备的优势,如果运行在 NVIDIA 显卡上, TensorRT 一般是所有框架中推理最快的。一般的主流的训练框架如TensorFlow 和 Pytorch 都能转换成 TensorRT 可运行的模型。当然了,TensorRT 的限制就是只能运行在 NVIDIA 显卡上,同时不开源 kernel。
- MediaPipe 不支持除了tensorflow之外的其他深度学习框架。MediaPipe 的主要用例是使用推理模型和其他可重用组件对应用机器学习管道进行快速原型设计。MediaPipe 还有助于将机器学习技术部署到各种不同硬件平台上的演示和应用程序中,为移动、桌面/云、web和物联网设备构建世界级ML解决方案和应用程序。