/jpmml-tensorflow

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

Primary LanguageJavaGNU Affero General Public License v3.0AGPL-3.0

JPMML-TensorFlow

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

Features

Prerequisites

The TensorFlow side of operations

  • Protocol Buffers 3.2.0 or newer
  • TensorFlow 1.1.0 or newer

The Java side of operations

  • Java 1.8 or newer

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 info@openscoring.io