百度开源移动端深度学习框架MDL,手机部署CNN支持iOS GPU
1新智元编译
GitHub地址:https://github.com/baidu/mobile-deep-learning
在开源PaddlePaddle深度学习框架的一年后,百度再次将另一AI技术投入公共领域——一个旨在将AI放到智能手机上的项目。
25日,百度在GitHub开源了其移动端深度学习框架Mobile Deep Learning (MDL)的全部代码和脚本,并放出“先睹为快”的demo安装文件。
MDL是一个基于卷积的神经网络,设计来适用于移动设备。百度表示,它适用于使用智能手机的相机功能识别图片中的对象等应用程序。
MDL神经网络的计算部署在手机GPU,具有高速和低复杂性的特征。它可以运行在iOS或Android上,但项目的文档相比Google更倾向于Apple,支持iOS GPU计算,但Android GPU实现和TensorFlow模型转MDL尚未释放。
开源代码约4 MB,没有第三方库依赖(神经网络模型之外)。开发人员推荐使用该公司的PaddlePaddle模型转MDL,但也可以使用Caffe模型。
下面的截图显示,MDL可以在不到半秒内识别出图中的手机。
另一个MDL demo是识别图中的瓷杯,并将其用于寻找同款商品。
百度Mobile Deep Learning (MDL)
以下内容来自GitHub:https://github.com/baidu/mobile-deep-learning
百度研发的移动端深度学习框架,致力于让卷积神经网络极度简单的部署在手机端。目前正在手机百度内运行。支持iOS gpu计算。体积小,速度快。
体积 armv7 340k+
速度 iOS GPU mobilenet 可以达到 40ms、squeezenet 可以达到 30ms
先睹为快
如果你想先运行demo试试效果。或者你仅仅是想快速用起来,而不关心CNN细节实现。开源库提供编译好的安装文件, 直接下载安装即可。
特征
一键部署,脚本参数就可以切换ios或者android
支持iOS gpu运行MobileNet、squeezenet模型
已经测试过可以稳定运行MobileNet、GoogLeNet v1、squeezenet模型
体积极小,无任何第三方依赖。纯手工打造。
提供量化脚本,对32位float转8位uint直接支持,模型体积量化后4M上下
与ARM相关算法团队线上线下多次沟通,针对ARM平台会持续优化
NEON使用涵盖了卷积、归一化、池化所有方面的操作
汇编优化,针对寄存器汇编操作具体优化
loop unrolling 循环展开,为提升性能减少不必要的CPU消耗,全部展开判断操作
将大量繁重的计算任务前置到overhead过程
MDL使用的是宽松的MIT开源协议。
demo源码实现请阅读GitHub页面。
点击阅读原文可查看职位详情,期待你的加入~