caffe android

  前段时间需要移植android版的caffe,恰巧github有一个大神将caffe移植到android上了,但是每个人的环境不同,设置也不同,导致耗费了很长时间终于移植到android上了,也跑了一下深度特征提取的函数,由于设备性能不佳,速度不是很快。下面就记录下从巨人的肩膀上移植caffe的过程吧,以备日后查阅。
1、刚开始用的NDK-r9编译的各个依赖库,但是出现的问题是千奇百怪,后来改用NDK-r10,这样大部分的问题都没有了。
2、gflags 是通过cmake 配置编译的
  gflags cmake 编译需要更改的地方:cmake 添加参数     
 -DANDROID_NATIVE_API_LEVEL=18\
  -DTHREADS_PTHREAD_ARG=0\
  ANDROID_NATIVE_API_LEVEL 可以修改成其他的版本
3、openblas依赖库编译过程是耗费时间最长的一直编译不过,要不就是出现其他问题,后来经过修改终于可以了。
用openblas时caffe 编译不过,我将其android.toolchain.cmake 的部分修改了一点,除此之外在cmakelist文件里做了一点修改。

这里写图片描述
4、LMDB库编译
脚本里需要修改一下工具链的路径,用的NDK版本是linux 32 位R10, linux系统是Ubuntu 12.04
类似下面这样的地方
5、主要问题在于openblas的速度
测试选项:
make TARGET=ARMV7 HOSTCC=gcc CC=”arm-linux-androideabi-gcc –sysroot= NDKROOT/platforms/android21/archarmNOFORTRAN=1线makeTARGET=ARMV7HOSTCC=gccCC=armlinuxandroideabigccsysroot= NDK_ROOT/platforms/android-21/arch-arm” NOFORTRAN=1 USE_THREAD=1 NUM_THREADS=8 USE_OPENMP=1 设置多线程

使用USE_OPENMP 编译出来的库中含有一个p的选项,多线程库,若不使用 则生成的库不带p 的非多线程库。
移植android caffe 还有一些更细微的问题,注意cmake配置文件和编译脚本里的一些设置项,站在大神的肩膀上移植还是很快的。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值