在Windows7上用Android Studio编译Tensorflow_Android_Demo

和嘉澍
2023-12-01

Tensorflow提供了一个Android Demo, 昨天尝试了在内网环境下编译下和运行这个Demo。在Window7下面我只编译Java部分的代码, jni部分的代码我直接用了官方jinkens编译出的so文件,libtensorflow_demo.so

首先用Android Studio打开目录 tensorflow/tree/master/tensorflow/examples/android
配置好代理,然后做下面的操作:

  1. 修改build.gradle , 把nativeBuildSystem的值改为none, 这样就不会本地编译tensorflow库,而是直接用TensorFlow AAR from JCenter.
def nativeBuildSystem = 'none'
  1. 修改build.gradledownload-models.gradle文件中所有的jcenter()jcenter { url "http://jcenter.bintray.com" } 。这一步在内网环境下必须要做, 目的是从jcenter的http地址下载相关aar包。

  2. 下载模型文件并放到gradleBuild/downloads下面, 直接用gradle task downloadFile下载模型文件会超时,因为地址是https的。

打开download-models.gradle文件,

// hard coded model files
// LINT.IfChange
def models = ['inception5h.zip',
              'object_detection/ssd_mobilenet_v1_android_export.zip',
              'stylize_v1.zip',
              'speech_commands_conv_actions.zip']
// LINT.ThenChange(//tensorflow/examples/android/BUILD)

// Root URL for model archives
def MODEL_URL = 'https://storage.googleapis.com/download.tensorflow.org/models'

直接用chrome浏览器下载上面的4个文件, url地址就是MODEL_URL和文件名的拼接, 下载完后放到gradleBuild/downloads下面, 后面再运行就不会下载了。

  1. 在工程目录下新建libs文件夹,添加libtensorflow_demo.so等文件

libtensorflow_demo.so 文件复制过来。这样就不需要自己编译jni库了

然后就可以Android Studio编译和运行Demo了。

 类似资料: