开发 | 百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换
Posted AI科技评论
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发 | 百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换相关的知识,希望对你有一定的参考价值。
AI科技评论消息,日前,百度在 GitHub 上开源了移动端深度学习框架 mobile-deep-learning(MDL)的全部代码以及脚本,这项研究旨在让卷积神经网络(CNNC)能更简单和高速的部署在移动端,支持ios GPU,目前已经在百度APP上有所使用。
大小:340k+(在arm v7上)
速度:对于 iOS Metal GPU Mobilenet,速度是40ms,对于 Squeezenet,速度是30ms
展示案例
如果想先运行demo或快速使用这个框架,你可以扫下面的二维码安装编译好的apk/ipa文件,不用知道详细的安装细节。
iOS-MobileNet:
android-Googlenet:
想要了解源码实现可以继续往下看,源码位于examples文件夹里。
执行样例
1、复制项目代码
2、安装apk\ipa文件,或导入到IDE
3、运行
前期准备
android端安装NDK
安装Cmake
安装 Protocol Buffers
使用MDL lib步骤
在OSX或Linux上测试:
# mac or linux:
./build.sh mac
cd build/release/x86/build
./mdlTest
使用MDL lib
#android
Copy so file to your project. According to the example of writing your code.
#ios
The example code is your code.
多线程执行
# After a Net instance in MDL is created, you could set its thread numbers for execution like this.
net->set_thread_num(3); # Now MDL is tuned to run in 3 parallel threads.
开发
在android端编译MDL资源
# android:
# prerequisite: install ndk from google
./build.sh android
cd build/release/armv-v7a/build
./deploy_android.sh
adb shell
cd /data/local/tmp
./mdlTest
在iOS端编译MDL资源
# ios:
# prerequisite: install xcode from apple
./build.sh ios
copy ./build/release/ios/build/libmdl-static.a to your iOS project
把caffemodel转换成mdl格式
#Convert model.prototxt and model.caffemodel to model.min.json and data.min.bin that mdl use
./build.sh mac
cd ./build/release/x86/tools/build
# copy your model.prototxt and model.caffemodel to this path
# also need the input data
./caffe2mdl model.prototxt model.caffemodel data
# after this command, model.min.json data.min.bin will be created in current
# some difference step you need to do if you convert caffe model to iOS GPU format
# see this:
open iOS/convert/iOSConvertREADME.md
特征
一键部署,可以通过修改参数在iOS和android端之间转换
iOS GPU上支持运行 MobileNet和Squeezenet模型
在MobileNet、GoogLeNet v1和Squeezenet模型下都很稳定
占用空间极小(4M),不需要依赖第三方的库
支持从32比特float到8比特unit转化
接下来会与与ARM相关的算法团队进行线上线下沟通,优化ARM平台
NEON使用涵盖了所有的卷积、归一化、池化等
利用循环展开,可以让性能更加优化,防止不必要的CPU损失
对于overhead进程,可以转发大量繁重的计算任务
————— 给爱学习的你的福利 —————
3个月,从无人问津到年薪30万的秘密究竟是什么?答案在这里——崔立明授课【推荐系统算法工程师-从入门到就业】3个月算法水平得到快速提升,让你的职业生涯更有竞争力!长按识别下方二维码(或阅读原文戳开链接)抵达课程详细介绍~
————————————————————
以上是关于开发 | 百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换的主要内容,如果未能解决你的问题,请参考以下文章
百度开源移动端深度学习框架mobile-deep-learning(MDL)
无引力ICO创始人在海外被投资人生擒,百度开源移动端深度学习框架MDL
大数据早报:百度开源移动端深度学习框架 中国联通成立大数据公司(9.26)