aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/java/README.md
diff options
context:
space:
mode:
authorGravatar Asim Shankar <ashankar@google.com>2016-11-28 17:28:20 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-11-28 17:45:37 -0800
commit00ae29436a604ae62cbe4eb823cb5785431c842e (patch)
tree9e135a6048e3b97c29add59a819ff4844b29347a /tensorflow/java/README.md
parent06ad00d64a84161ff84cca77847579b16ebd97a0 (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.md72
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
+ ```