移动端深度学习推理框架总结
框架 | 公司 | 支持硬件 | 特性 | 相关资源 |
TensorFlow Lite | Google 2017 |
CPU GPU: android基于OpenGL, IOS基于Metal |
|
|
Core ML | Apple 2017 | IOS(Accelerate(CPU)/Metal(GPU)) |
Core ML 在设备端可以利用用户数据进行重新训练或优化。 |
|
Caffe2 | Facebook 2017 | IOS,Android CPU |
GPU暂无资料,针对具有NEON指令的ARM CPU进行优化, |
|
NCNN | Tencnet 2017 |
Android: CPU/GPU 32/ 64bit都支持 IOS: CPU 32/64bit GPU 64 bit |
支持全平台,主要针对手机端进行极致的优化,无第三方依赖库,但算子支持相对较少。 | https://github.com/Tencent/ncnn
|
Paddle-Mobile | Baidu 2017 | Android: CPU GPU基于OpenCL | 仅支持Android |
|
QNNPACK/NNPACK (加速库) |
Android / IOS | 主要针对卷积计算进行加速处理,armeabi-v7a需要CPU支持NEON指令,暂无GPU信息 |
|
|
MACE | XIAOMI 2018 | 支持Android / IOS CPU,GPU | 底层算子基于OpenCL实现 |
|
MNN |
阿里 2019 |
Android / IOS (CPU / GPU) | 通用性较好,算子支持性好 |
|
TNN |
Tencent 2020 |
Android / IOS (ARM CPU /GPU / NPU) | 主要针对于移动端,基于NCNN开发,性能移动端略优于MNN。 | https://github.com/Tencent/TNN |
tengine |
ARM中国 |
CPU/GPU/AIPU/DSP/FPGA |
适配所有硬件 |
http://www.tengine.org.cn/ https://github.com/OAID/Tengine |
computelibrary | ARM | CPU/GPU | 基于OpenCL对Mail GPU加速,基于Neon的方式对A系列CPU进行加速 |
https://github.com/ARM-software/ComputeLibrary https://www.arm.com/why-arm/technologies/compute-library |
D2GO | 深度学习工具包包含检测,关键点预测,实例分割 |
https://github.com/facebookresearch/d2go https://ai.facebook.com/blog/d2go-brings-detectron2-to-mobile/ |