Skip to content

ToruHayashi/onnx-tensorflow

 
 

Repository files navigation

Tensorflow Backend and Frontend for ONNX

Build Status

To convert models between Tensorflow and ONNX:

Use CLI:

Command Line Interface Documentation

From Tensorflow to ONNX: onnx-tf convert -t onnx -i /path/to/input.pb -o /path/to/output.onnx

From ONNX to Tensorflow: onnx-tf convert -t tf -i /path/to/input.onnx -o /path/to/output.pb

Convert programmatically:

From Tensorflow to ONNX

From ONNX to Tensorflow

ONNX model inference with Tensorflow backend:

import onnx
from onnx_tf.backend import prepare

onnx_model = onnx.load("input_path")  # load onnx model
output = prepare(onnx_model).run(input)  # run the loaded model

More tutorials:

Running an ONNX model using Tensorflow

Exporting a Tensorflow Model to ONNX

Production Installation:

ONNX-TF requires ONNX (Open Neural Network Exchange) as an external dependency, for any issues related to ONNX installation, we refer our users to ONNX project repository for documentation and help. Notably, please ensure that protoc is available if you plan to install ONNX via pip.

The specific ONNX release version that we support in the master branch of ONNX-TF can be found here. This information about ONNX version requirement is automatically encoded in setup.py, therefore users needn't worry about ONNX version requirement when installing ONNX-TF.

To install the latest version of ONNX-TF via pip, run pip install onnx-tf.

Because users often have their own preferences for which variant of Tensorflow to install (i.e., a GPU version instead of a CPU version), we do not explicitly require tensorflow in the installation script. It is therefore users' responsibility to ensure that the proper variant of Tensorflow is available to ONNX-TF. Moreoever, we require Tensorflow version >= 1.5.0.

Development:

Coverage Status:

ONNX-Tensorflow Op Coverage Status

API:

ONNX-Tensorflow API

Installation:

  • Install ONNX master branch from source.
  • Install Tensorflow>=1.5.0.
  • Run git clone git@github.com:onnx/onnx-tensorflow.git && cd onnx-tensorflow.
  • Run pip install -e ..

Folder Structure:

  • onnx_tf main source code file.
  • test test files.

Code Standard:

  • Format code:
pip install yapf
yapf -rip --style="{based_on_style: google, indent_width: 2}" $FilePath$
  • Install pylint:
pip install pylint
wget -O /tmp/pylintrc https://raw.githubusercontent.com/tensorflow/tensorflow/master/tensorflow/tools/ci_build/pylintrc
  • Check format:
pylint --rcfile=/tmp/pylintrc myfile.py

Documentation Standard:

http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html

To test:

To perfom unit tests, run python -m unittest discover test. Testing requires significant hardware resources, but nonetheless, we highly recommend that users run through the complete test suite before deploying onnx-tf. The complete test suite typically takes between 15 and 45 minutes to complete, depending on hardware configurations.

Test Help:

https://docs.python.org/2/library/unittest.html

Authors:

Arpith Jacob (IBM Research)

Tian Jin (IBM Research)

Gheorghe-Teodor Bercea (IBM Research)

Wenhao Hu (LeapMind)

About

Tensorflow Backend and Frontend for ONNX

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.1%
  • Shell 0.9%