アンドロイド
ためTensorFlowを構築するために完了し、詳細な方法は
git clone --recurse-submodules https://github.com/tensorflow/tensorflow.git
注:--recurse-サブモジュールサブモジュールを引くことが重要です。
ここからBazelをインストールしてください。 BazelはTensorFlowの主要構築システムです。 これで、WORKSPACEを編集すると、以前にクローン化したTensorFlowのルートディレクトリでWORKSPACEファイルを見つけることができます。
当社のSDKとNDKパスと以下のように
# Uncomment and update the paths in these entries to build the Android demo.
#android_sdk_repository(
# name = "androidsdk",
# api_level = 23,
# build_tools_version = "25.0.1",
# # Replace with path to Android SDK on your system
# path = "<PATH_TO_SDK>",
#)
#
#android_ndk_repository(
# name="androidndk",
# path="<PATH_TO_NDK>",
# api_level=14)
:
android_sdk_repository(
name = "androidsdk",
api_level = 23,
build_tools_version = "25.0.1",
# Replace with path to Android SDK on your system
path = "/Users/amitshekhar/Library/Android/sdk/",
)
android_ndk_repository(
name="androidndk",
path="/Users/amitshekhar/Downloads/android-ndk-r13/",
api_level=14)
その後の.soファイルを作成。
bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so \
--crosstool_top=//external:android/crosstool \
[email protected]_tools//tools/cpp:toolchain \
--cpu=armeabi-v7a
armeabi-v7aを希望するターゲットアーキテクチャに置き換えます。 Javaのカウンターパートを構築するには
bazel-bin/tensorflow/contrib/android/libtensorflow_inference.so
: ライブラリがに配置されます
bazel build //tensorflow/contrib/android:android_tensorflow_inference_java
我々がでJARファイルを見つけることができます。
bazel-bin/tensorflow/contrib/android/libandroid_tensorflow_inference_java.jar
今、私たちは、両方の瓶を持っています。だからファイル。私はすでに.soファイルとjarの両方をビルドしていますが、projectから直接使用できます。
libandroid_tensorflow_inference_java.jarをlibsフォルダに置き、右クリックしてライブラリとして追加します。
compile files('libs/libandroid_tensorflow_inference_java.jar')
メインディレクトリにjniLibsフォルダを作成し、jniLibs/armeabi-v7a /フォルダに入れlibtensorflow_inference.so。
ここで、TensorFlow Java APIを呼び出すことができます。
TensorFlow Java APIは、TensorFlowInferencefaceクラスを使用して、必要なすべてのメソッドを公開しています。
ここで、モデルパスでTensorFlow Java APIを呼び出してロードする必要があります。
私は完全なブログhereを書きました。