您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能开发者 正文
发私信给汪思颖
发送

0

百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换

本文作者: 汪思颖 编辑:郭奕欣 2017-09-25 15:43
导语:百度今日开源移动端深度学习框架,致力于让卷积神经网络极度简单的部署在手机端。目前正在手机百度内运行。支持iOS gpu计算。体积小,速度快。

雷锋网 AI科技评论消息,日前,百度在 GitHub 上开源了移动端深度学习框架 mobile-deep-learning(MDL)的全部代码以及脚本,这项研究旨在让卷积神经网络(CNNC)能更简单和高速的部署在移动端,支持iOS GPU,目前已经在百度APP上有所使用。雷锋网 AI科技评论将GitHub上的具体内容整理如下:

大小:340k+(在arm v7上)

速度:对于 iOS Metal GPU Mobilenet,速度是40ms,对于 Squeezenet,速度是30ms

展示案例

百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换

百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换

如果想先运行demo或快速使用这个框架,你可以扫下面的二维码安装编译好的apk/ipa文件,不用知道详细的安装细节。

iOS-MobileNet:

百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换

Android-Googlenet:

百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换

想要了解源码实现可以继续往下看,源码位于examples文件夹里。

执行样例

1、复制项目代码

2、安装apk\ipa文件,或导入到IDE

3、运行

前期准备

  • android端安装NDK

  • 安装Cmake

  • Android端 NDK CMake 文件地址:https://developer.android.google.cn/ndk/guides/cmake.html

  • 安装 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进程,可以转发大量繁重的计算任务

项目地址:https://github.com/baidu/mobile-deep-learning

雷锋网 AI科技评论编辑整理。

雷峰网版权文章,未经授权禁止转载。详情见转载须知

百度开源移动端深度学习框架MDL,可在苹果安卓系统自由切换

分享:
相关文章

编辑

关注AI学术,例如论文
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说