diff options
author | Asim Shankar <ashankar@google.com> | 2016-11-28 17:28:20 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2016-11-28 17:45:37 -0800 |
commit | 00ae29436a604ae62cbe4eb823cb5785431c842e (patch) | |
tree | 9e135a6048e3b97c29add59a819ff4844b29347a /tensorflow/java/README.md | |
parent | 06ad00d64a84161ff84cca77847579b16ebd97a0 (diff) |
Java: Scaffolding for Java bindings.
Setup the build files and directory structure for TensorFlow
Java bindings that use JNI and the TensorFlow C API.
First step towards #5
Change: 140423173
Diffstat (limited to 'tensorflow/java/README.md')
-rw-r--r-- | tensorflow/java/README.md | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tensorflow/java/README.md b/tensorflow/java/README.md new file mode 100644 index 0000000000..d9bee5e342 --- /dev/null +++ b/tensorflow/java/README.md @@ -0,0 +1,72 @@ +# TensorFlow for Java + +Java bindings for TensorFlow. + +> *WARNING*: The TensorFlow Java API is incomplete and experimental and can +> change without notice. Progress can be followed in +> [issue #5](https://github.com/tensorflow/tensorflow/issues/5). +> +> Till then, for using TensorFlow on Android refer to +> [contrib/android](https://www.tensorflow.org/code/tensorflow/contrib/android), +> [makefile](https://www.tensorflow.org/code/tensorflow/contrib/makefile#android) +> and/or the [Android camera +> demo](https://www.tensorflow.org/code/tensorflow/examples/android). + +## Requirements + +- [bazel](https://www.bazel.build/versions/master/docs/install.html) +- Environment to build TensorFlow from source code + ([Linux](https://www.tensorflow.org/versions/master/get_started/os_setup.html#prepare-environment-for-linux) + or [Mac OS + X](https://www.tensorflow.org/versions/master/get_started/os_setup.html#prepare-environment-for-mac-os-x)). + If you'd like to skip reading those details and do not care about GPU + support, try the following: + + ```sh + # On Linux + sudo apt-get install python swig python-numpy + + # On Mac OS X with homebrew + brew install swig + ``` + +## Installation + +Build the Java Archive and native library: + +```sh +bazel build -c opt \ + //tensorflow/java:libtensorflow.jar \ + //tensorflow/java:libtensorflow-jni +``` + +## Example Usage + +### With bazel + +Add a dependency on `//tensorflow/java:tensorflow` to the `java_binary` or +`java_library` rule. For example: + +```sh +bazel run -c opt //tensorflow/java/src/main/java/org/tensorflow/examples:example +``` + +### With `javac` + +- Add `libtensorflow.jar` to classpath for compilation. For example: + + ```sh + javac \ + -cp ../../bazel-bin/tensorflow/java/libtensorflow.jar \ + ./src/main/java/org/tensorflow/examples/Example.java + ``` + +- Make `libtensorflow.jar` and `libtensorflow-jni.so` + (`libtensorflow-jni.dylib` on OS X) available during execution. For example: + + ```sh + java \ + -Djava.library.path=../../bazel-bin/tensorflow/java \ + -cp ../../bazel-bin/tensorflow/java/libtensorflow.jar:./src/main/java \ + org.tensorflow.examples.Example + ``` |