Giter Club home page Giter Club logo

onnx's Introduction

Build Status Build status Build Status

Open Neural Network Exchange (ONNX) is an open ecosystem that empowers AI developers to choose the right tools as their project evolves. ONNX provides an open source format for AI models, both deep learning and traditional ML. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Currently we focus on the capabilities needed for inferencing (scoring).

ONNX is widely supported and can be found in many frameworks, tools, and hardware. Enabling interoperability between different frameworks and streamlining the path from research to production will increase the speed of innovation in the AI community. We invite the community to join us and further evolve ONNX.

Use ONNX

Learn about the ONNX spec

Programming utilities for working with ONNX Graphs

Contribute

ONNX is a community project. We encourage you to join the effort and contribute feedback, ideas, and code. You can join one of the working groups and help shape the future of ONNX.

Check out our contribution guide and call for contributions to get started.

If you think some operator should be added to ONNX specification, please read this document.

Discuss

We encourage you to open Issues, or use Gitter for more real-time discussion: Join the chat at https://gitter.im/onnx/Lobby

Follow Us

Stay up to date with the latest ONNX news. [Facebook] [Twitter]

Installation

Binaries

A binary build of ONNX is available from Conda, in conda-forge:

conda install -c conda-forge onnx

Source

You will need an install of protobuf and numpy to build ONNX. One easy way to get these dependencies is via Anaconda:

# Use conda-forge protobuf, as default doesn't come with protoc
conda install -c conda-forge protobuf numpy

You can then install ONNX from PyPi (Note: Set environment variable ONNX_ML=1 for onnx-ml):

pip install onnx

You can also build and install ONNX locally from source code:

git clone https://github.com/onnx/onnx.git
cd onnx
git submodule update --init --recursive
python setup.py install

Note: When installing in a non-Anaconda environment, make sure to install the Protobuf compiler before running the pip installation of onnx. For example, on Ubuntu:

sudo apt-get install protobuf-compiler libprotoc-dev
pip install onnx

After installation, run

python -c "import onnx"

to verify it works. Note that this command does not work from a source checkout directory; in this case you'll see:

ModuleNotFoundError: No module named 'onnx.onnx_cpp2py_export'

Change into another directory to fix this error.

Testing

ONNX uses pytest as test driver. In order to run tests, first you need to install pytest:

pip install pytest nbval

After installing pytest, do

pytest

to run tests.

Development

Check out contributor guide for instructions.

License

MIT License

Code of Conduct

ONNX Open Source Code of Conduct

onnx's People

Contributors

ac2zoom avatar anderspapitto avatar armenag avatar askhade avatar bddppq avatar donbox avatar dzhulgakov avatar ebarsoum avatar ezyang avatar fumihwh avatar gramalingam avatar houseroad avatar jspisak avatar linkerzhang avatar maratyszcza avatar marcelolr avatar pk-g avatar pranavsharma avatar prasanthpul avatar rwilliams58 avatar sherlocknomad avatar skottmckay avatar smessmer avatar snnn avatar spandantiwari avatar tianleiwu avatar tjingrant avatar yuanbyu avatar yuslepukhin avatar zrphercule avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.