bazel version
brew upgrade bazel
各平台安装 Bazel 按照可参考:Installing Bazel
设置 WORKSPACE 中 NDK 和 SDK 的路径配置
修改clone 下来的TensorFlow中的WROKSPACE文件:
#android_sdk_repository(
#)
#android_ndk_repository(
找到 WORKSPACE 文件中 NDK 和 SDK 的配置部分,反注释掉原有代码后,按照版本要求填写自己本地环境配置。
注意:NDK 版本要设置为 14b ,如果选择 NDK 16 版本编译会出现未知问题!
android_sdk_repository(
name = “androidsdk”,
api_level = 26,
build_tools_version = “26.0.2”,
path = “/Users/baishixian/Library/Android/sdk”,
)
android_ndk_repository(
name=“androidndk”,
path="/Users/baishixian/Library/Android/sdk/android-ndk-r14b",
api_level=25)
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/libtensorflow_inference.so
bazel build //tensorflow/contrib/android:android_tensorflow_inference_java
bazel-bin/tensorflow/contrib/android/libandroid_tensorflow_inference_java.jar
现在我们有了so文件和jar文件,在以下的Android工程中会用到。
2. 下载训练模型和标签文件
===============
这里我们用google的数据就可以,下载地址,下载后解压可以得到imagenet_comp_graph_label_strings.txt
(label for objects) and tensorflow_inception_graph.pb (pre-trained model) 两个文件,这两个文件放置在Android工程的Assets中即可。
找到下载的 tensorflow 目录,其中 tensorflow/tensorflow/examples/android 路径下,是 Google 提供的 example 项目 for Android,我们可以通过编译运行该项目了解在 Android 平台上实现的几个典型的应用场景实力。
使用 Android Studio 找到对应的项目目录打开,修改 ndk 的环境配置后,点击编译运行即可。
通过命令行进入 tensorflow 目录,也就在 WORKSPACE 所在的项目根目录。
bazel build -c opt //tensorflow/examples/android:tensorflow_demo
找到对应的项目目录打开,修改 ndk 的环境配置后,点击编译运行即可。
通过命令行进入 tensorflow 目录,也就在 WORKSPACE 所在的项目根目录。
bazel build -c opt //tensorflow/examples/android:tensorflow_demo