对于Android手机来说,并没有统一的硬件标准,也没有统一的GPU型号,所以就很难做到一个框架支持所有手机,支持GPU的框架不多。
从计算能力上说,目前GPU性能要普遍差于CPU,且手机GPU没有独立显存,IO上不占优势,因此利用GPU的框架未必比单CPU框架速度快。
支持GPU的框架:
1. caffe2
NEON优化;利用OpenGL调用GPU进行计算
2. TensorFlow Lite
NEON优化;体积小,可通过Android NN API进行硬件加速(含GPU、DSP、NPU等)
3. CNNdroid
支持Caffe、Torch、Theano模型,支持移动端GPU,但速度并不快
4. 百度MDL(mobile-deep-learning)
NEON优化;支持caffe模型,较caffe2、tensorflow速度更快,体积小,仅支持IOS的GPU
不支持GPU的框架:
5. 腾讯NCNN
NEON优化,支持caffe模型,体积小,速度比caffe、tensorflow快
6. 亚马逊 MXNet
跨平台框架,灵活快速,内存消耗少,易扩展,支持caffe模型
此外还有一种深度学习编译中间件,介于框架和硬件之间,可对深度学习过程中的硬件配置进行优化,如TVM、NNVM等