안드로이드
에 대한
git clone --recurse-submodules https://github.com/tensorflow/tensorflow.git
참고 TensorFlow을 구축 완성 된 상세한 방법 : --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를 원하는 대상 아키텍처로 교체하십시오. 라이브러리가에 위치 할 것입니다 :
bazel-bin/tensorflow/contrib/android/libandroid_tensorflow_inference_java.jar
이제 우리는 모두 병을 가지고 :
bazel build //tensorflow/contrib/android:android_tensorflow_inference_java
우리의 JAR 파일을 찾을 수 있습니다 자바 대응을 구축하기 위해
bazel-bin/tensorflow/contrib/android/libtensorflow_inference.so
. 그래서 파일. 나는 이미 .so 파일과 jar 파일을 모두 빌드했으며, project에서 직접 사용할 수 있습니다.
libandroid_tensorflow_inference_java.jar를 libs 폴더에 넣고 마우스 오른쪽 버튼을 클릭하여 라이브러리로 추가하십시오.
compile files('libs/libandroid_tensorflow_inference_java.jar')
주요 디렉토리에 jniLibs 폴더를 만들고/armeabi-V7A/폴더 jniLibs에 libtensorflow_inference.so했습니다.
이제 TensorFlow Java API를 호출 할 수 있습니다.
TensorFlow Java API는 TensorFlowInferenceface 클래스를 통해 필요한 모든 메소드를 제공합니다.
이제 모델 경로를 사용하여 TensorFlow Java API를 호출하고로드해야합니다.
나는 완전한 블로그 here을 작성했습니다.