DYF
我思故我在!

Android 项目使用TensorFlow

首先需要搭建TensorFlow编译环境
参考:(http://www.cnblogs.com/dyufei/p/8027764.html)

TensorFlow的Android编译 参考
参考:(http://www.cnblogs.com/dyufei/p/8028218.html)

一、编译TensorFlow库和jar包

1)编译TensorFlow库libtensorflow_inference.so

bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so
--crosstool_top=//external:android/crosstool
--host_crosstool_top=@bazel_tools//tools/cpp:toolchain
--cpu=armeabi-v7a

编译后生成的文件在bazel-bin/tensorflow/contrib/android目录下

2)编译android_tensorflow_inference_java.jar包

bazel build //tensorflow/contrib/android:android_tensorflow_inference_java

编译后生成的文件在bazel-bin/tensorflow/contrib/android目录下

二、Android 工程中TensorFlow配置

1)将训练好的模型保存为pb文件,将其放到android项目的 assets文件夹下

2)将上面编译的so 和jar 放在 android项目的libs目录下

3)配置app:gradle以及gradle.properties

A :在android节点下添加soureSets,用于制定jniLibs的路径
sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
B:在defaultConfig节点下添加
defaultConfig {
        ndk {
            abiFilters "armeabi"
        }
    }
C: 在gradle.properties中添加下面一行

android.useDeprecatedNdk=true

三、Android 使用TensorFlow

使用可以参考官方的Demo:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android/

另一个开源Demo:
https://github.com/MindorksOpenSource/AndroidTensorFlowMachineLearningExample

posted on 2017-12-12 16:58  o(∩_∩)o...  阅读(573)  评论(0编辑  收藏  举报