Skip to content

Commit 740fa0b

Browse files
authored
Updated README.md to describe our API layers. (#108)
* Updated README.md to describe our API layers. * Updated README.md to state that `tensorflow-keras` is early WIP; only defined in `dev` profile.
1 parent 86840e7 commit 740fa0b

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

README.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,29 @@ migrated from Bazel to Maven, which is more familiar for most Java developers.
2525
The following describes the layout of the repository and its different artifacts:
2626

2727
* `tensorflow-core`
28-
* All artifacts that build up the core language bindings of TensorFlow for Java.
29-
* Those artifacts provide the minimal support required to use the TensorFlow runtime on a JVM.
28+
* All artifacts that build up the core language bindings of TensorFlow for Java
29+
* Intended audience: projects that provide their own APIs or frameworks on top of
30+
TensorFlow and just want a thin layer to access the TensorFlow runtime from the JVM
3031

3132
* `tensorflow-framework`
32-
* High-level APIs built on top of the core libraries to simplify neural network training and inference
33-
using TensorFlow.
33+
* Complete but fairly primitive API for building and training neural networks with TensorFlow
34+
* Intended audience: expert neural network developers who prefer to make explicit, detailed decisions
35+
about their models and training algorithms
36+
37+
* `tensorflow-keras` (early WIP; only defined in `dev` profile)
38+
* Partially covers the framework API to allow simpler definition of models and training algorithms
39+
* Intended to be familiar if you know the Python Keras API, but prioritizes clean, idiomatic Java
40+
over fidelity to Python
41+
* Provides defaults based on common best practices
42+
* Allows developers to selectively be more explicit by overriding defaults or dipping into the framework API
43+
* Intended audience: neural network developers across the spectrum from beginner to expert who prefer to
44+
rely mostly on best-practice defaults and then selectively fine-tune
3445

3546
* `ndarray`
36-
* Generic utility library for n-dimensional data I/O operations. It is used by TensorFlow without depending
37-
on it, making its usage eligible to any type of projects, using TensorFlow or not.
47+
* Generic utility library for n-dimensional data I/O operations
48+
* Used by TensorFlow but does not depend on TensorFlow
49+
* Intended audience: any developer who needs a Java n-dimensional array implementation, whether or not they
50+
use it with TensorFlow
3851

3952
## Building Sources
4053

0 commit comments

Comments
 (0)