caffe android

    xiaoxiao2025-05-03  5

    前段时间需要移植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配置文件和编译脚本里的一些设置项,站在大神的肩膀上移植还是很快的。

    转载请注明原文地址: https://ju.6miu.com/read-1298723.html
    最新回复(0)