mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-17 18:40:28 +00:00
* initial setup and rename "how to" to "setup" * move API to main nav * move api to main nav * add get starated, rework nav order * rename to install move mds out of install section * update api nav and home page * add install docs and python qs updates * python get started work * remove c and obj c for now * move java, python, and obj-c docs under api folder * move java api html to iframe (ugh) * remove api docs w/o details, move api text getstar * remove api docs wo detail updates get started * remvoe iframes * move eco system to main nav * fix api buttons * added more examples moved intro to ORT * fix links * fix get started titles * fix get started titles * fix more links * fix more links * more link fixes * fix nav remove inferencing and training subnav * fix top nav remove inference and training nav * fix title * fix tutorials nav hierarchy * fix python api button * add tenorflow keras example * fix quickstart toc * add imports fix spacing * fix links * update nav and python get started page * move ort training example, add coming soon for iot * update C# get started * fix spacing on quantization * Add some js get started content * fix formatting * fix typo * removed onnx-pytorch and onnx-tf * updated pip install torch and added links iot page * added pytorch tutorial heirarchy * updated web to docs soon added release blog link * add web link
64 lines
4 KiB
Markdown
64 lines
4 KiB
Markdown
---
|
||
title: ONNX Runtime (ORT)
|
||
has_children: false
|
||
nav_order: 0
|
||
---
|
||
# Welcome to ONNX Runtime (ORT)
|
||
{: .no_toc }
|
||
|
||
ONNX Runtime is an accelerator for machine learning models with multi platform support and a flexible interface to integrate with hardware-specific libraries. ONNX Runtime can be used with models from PyTorch, Tensorflow/Keras, TFLite, scikit-learn, and other frameworks.
|
||
|
||
<iframe width="400" height="315" class="table-wrapper py px" src="https://www.youtube.com/embed/qy7X2JGLUC4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||
|
||
## How to use ONNX Runtime (ORT)
|
||
|
||
|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
|
||
| <span class="fs-5"> [Get started with ORT](./get-started){: .btn .mr-4 target="_blank"} </span> | <span class="fs-5"> [API Docs](./api){: .btn target="_blank"} </span> |
|
||
| <span class="fs-5"> [Tutorials](./tutorials){: .btn target="_blank"} </span> | <span class="fs-5"> [Ecosystem](./ecosystem){: .btn target="_blank"} </span> |
|
||
|
||
## Contribute and Customize
|
||
|
||
|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
|
||
| <span class="fs-5"> [Build ORT Packages](./build){: .btn .mr-4 target="_blank"} </span> | <span class="fs-5"> [ORT GitHub](https://github.com/microsoft/onnxruntime){: .btn target="_blank"} </span> |
|
||
|
||
|
||
---
|
||
|
||
## ONNX Runtime for Inferencing
|
||
|
||
ONNX Runtime Inference powers machine learning models in key Microsoft products and services across Office, Azure, Bing, as well as dozens of community projects.
|
||
|
||
Examples use cases for ONNX Runtime Inferencing include:
|
||
|
||
* Improve inference performance for a wide variety of ML models
|
||
* Run on different hardware and operating systems
|
||
* Train in Python but deploy into a C#/C++/Java app
|
||
* Train and perform inference with models created in different frameworks
|
||
|
||
### How it works
|
||
{: .no_toc }
|
||
|
||
The premise is simple.
|
||
1. **Get a model.** This can be trained from any framework that supports export/conversion to ONNX format. See the [tutorials](./tutorials) for some of the popular frameworks/libraries.
|
||
2. **Load and run the model with ONNX Runtime.** See the [basic tutorials](./tutorials/api-basics) for running models in different languages.
|
||
3. ***(Optional)* Tune performance using various runtime configurations or hardware accelerators.** There are lots of options here - see [How to: Tune Performance](./performance/tune-performance.md) as a starting point.
|
||
|
||
Even without step 3, ONNX Runtime will often provide performance improvements compared to the original framework.
|
||
|
||
ONNX Runtime applies a number of graph optimizations on the model graph then partitions it into subgraphs based on available hardware-specific accelerators. Optimized computation kernels in core ONNX Runtime provide performance improvements and assigned subgraphs benefit from further acceleration from each [Execution Provider](./execution-providers).
|
||
|
||
|
||
|
||
---
|
||
|
||
## ONNX Runtime for Training
|
||
|
||
Released in April 2021, ONNX Runtime Training provides a one-line addition for existing PyTorch training scripts to accelerate training times. The current support is focused on large transformer models on multi-node NVIDIA GPUs, with more to come.
|
||
|
||
### How it works
|
||
{: .no_toc }
|
||
|
||
Using the ORTModule class wrapper, ONNX Runtime for PyTorch runs the forward and backward passes of the training script using an optimized automatically-exported ONNX computation graph. ORT Training uses the same graph optimizations as ORT Inferencing, allowing for model training acceleration.
|
||
|
||
The ORTModule is instantiated from [`torch-ort`](https://github.com/pytorch/ort) backend in PyTorch. This new interface enables a seamless integration for ONNX Runtime training in a PyTorch training code with minimal changes to the existing code.
|
||
|