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



The TensorFlow side of operations

The Java side of operations


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.


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 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


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]