Overview

A framework is “supported” when there is a framework bridge that can be cloned from one of our GitHub repos and built to connect to nGraph device backends while maintaining the framework’s programmatic or user interface. A bridge currently exists for the TensorFlow* frameworks. Intel previously contributed work to an MXNet bridge; unfortunately, we no longer offer support for this bridge.

ONNX on its own is not a framework; however, it can be used with nGraph’s Python API to import and execute ONNX models.

JiT compiling of a computation

Just-in-Time Compiling for computation. nGraph Core components are colored in blue.

Once connected via the bridge, the framework can then run and train a deep learning model with various workloads on various backends using nGraph Compiler as an optimizing compiler available through the framework.

While a Deep Learning framework is ultimately meant for end use by data scientists, or for deployment in cloud container environments, nGraph Core ops and the nGraph C++ Library are designed for framework builders themselves. We invite anyone working on new and novel frameworks or neural network designs to explore our highly-modularized stack of components that can be implemented or integrated in countless ways.

Please read this section if you are considering incorporating components from the nGraph Compiler stack in your framework or neural network design. Contents here are also useful if you are working on something built-from-scratch, or on an existing framework that is less widely-supported than the popular frameworks like TensorFlow and PyTorch.