Permalink
ab47eb8 Apr 19, 2018
2 contributors

Users who have contributed to this file

@asimshankar @drpngx
57 lines (43 sloc) 1.79 KB

Bazel rules to package the TensorFlow APIs in languages other than Python into archives.

C library

The TensorFlow C API is typically a requirement of TensorFlow APIs in other languages such as Go and Rust.

The following commands:

bazel test --config opt //tensorflow/tools/lib_package:libtensorflow_test
bazel build --config opt //tensorflow/tools/lib_package:libtensorflow

test and produce the archive at bazel-bin/tensorflow/tools/lib_package/libtensorflow.tar.gz, which can be distributed and installed using something like:

tar -C /usr/local -xzf libtensorflow.tar.gz

Java library

The TensorFlow Java API consists of a native library (libtensorflow_jni.so) and a Java archive (JAR). The following commands:

bazel test --config opt //tensorflow/tools/lib_package:libtensorflow_test
bazel build --config opt \
  //tensorflow/tools/lib_package:libtensorflow_jni.tar.gz \
  //tensorflow/java:libtensorflow.jar \
  //tensorflow/java:libtensorflow-src.jar

test and produce the following:

  • The native library (libtensorflow_jni.so) packaged in an archive at: bazel-bin/tensorflow/tools/lib_package/libtensorflow_jni.tar.gz
  • The Java archive at: bazel-bin/tensorflow/java/libtensorflow.jar
  • The Java archive for Java sources at: bazel-bin/tensorflow/java/libtensorflow-src.jar

Release

Scripts to build these archives for TensorFlow releases are in tensorflow/tools/ci_build/linux and tensorflow/tools/ci_build/osx