使用推理引擎测试网络的时候,个人觉得首先还是需要确定一下,你要测的网络结构推理引擎是否支持,新的网络结构从提出到推理引擎提供该网络结构的支持,中间需要很长一段时间,然后还需要确认GPU是否支持,需要确认对架构是否支持。个人在实际测得过程中,觉得挺麻烦的,有的CPU支持,GPU不支持,有的这个推理引擎支持,那个推理引擎不支持,有的推理引擎这个架构支持,那个架构不支持等等
MNN:阿里
介绍:https://www.jianshu.com/p/8a4c3e907c45
源码:https://github.com/alibaba/MNN/blob/master/README_CN.md
op支持:https://github.com/alibaba/MNN/issues/74
mace:小米
源码:https://github.com/XiaoMi/mace/blob/master/README_zh.md
op支持:https://mace.readthedocs.io/en/latest/user_guide/op_lists.html
只适用于移动端
NCNN:腾讯
未接触过
tensorRT:
TF-TRT用户指南中的加速推理:https://docs.nvidia.com/deeplearning/frameworks/tf-trt-user-guide/index.html
开发者指导:https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#support
源码:https://github.com/NVIDIA/TensorRT
op支持:https://docs.nvidia.com/deeplearning/frameworks/tf-trt-user-guide/index.html#supported-ops
tensorflowlite:
只适用于移动端
首选还是TensorRT吧,这差不多是大多数人的选择,虽然我也没太弄明白。个人还行蛮喜欢MNN的,有中文介绍呀,并且安装啥的,中文写的明明白白,好懂,缺点就是支持的ops太少了,阿里的东西,后期维护真是堪忧呀,到现在连yolov3都不支持,这都一年了,愁人呀。
如何使用MNN编写C程序,调用训练好的深度学习模型:
1. 更改CMakeList配置,将需要的功能打开,MNN_BUILD_DEMO默认配置从OFF改为ON, 编译MNN
2.编译完成后,build文件夹中会根据demo/exec中文件生成对应.out文件,然后运行需要的.out文件就行
3.根据pictureRecogniztion.cpp中文件内容,进行修改,编写自己的cpp文件
来源:CSDN
作者:学渣在路上
链接:https://blog.csdn.net/XDH19910113/article/details/102838404