JPMML-TensorFlow

Java library and command-line application for converting TensorFlow models to PMML.

Features

Prerequisites

The TensorFlow side of operations

The Java side of operations

Installation

Enter the project root directory and build using Apache Maven; use the protoc.exe system property to specify the location of the Protocol Buffers compiler:

mvn -Dprotoc.exe=/usr/local/bin/protoc clean install

The build produces an executable uber-JAR file target/converter-executable-1.0-SNAPSHOT.jar.

Usage

A typical workflow can be summarized as follows:

  1. Use TensorFlow to train an estimator.
  2. Export the estimator in SavedModel data format to a directory in a local filesystem.
  3. Use the JPMML-TensorFlow command-line converter application to turn the SavedModel directory to a PMML file.

The TensorFlow side of operations

Please see the test script file main.py for sample workflows.

The Java side of operations

Converting the estimator SavedModel directory estimator/ to a PMML file estimator.pmml:

java -jar target/converter-executable-1.0-SNAPSHOT.jar --tf-savedmodel-input estimator/ --pmml-output estimator.pmml

Getting help:

java -jar target/converter-executable-1.0-SNAPSHOT.jar --help

License

JPMML-TensorFlow is licensed under the GNU Affero General Public License (AGPL) version 3.0. Other licenses are available on request.

Additional information

Please contact [email protected]ring.io