ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
Find a file
Scott McKay 5276bab268
Fail model loading if node input is a missing value (#7459)
* Add check for a node with an invalid input so we fail during model load. Without this we get a more cryptic failure in the allocation planner.

* Add handling for manually created subgraph where outer scope node arg names are in a different place.

* Update onnxruntime/core/graph/graph.cc

Co-authored-by: Pranav Sharma <prs@microsoft.com>

* Ignore Fused nodes when checking inputs are valid. DML EP will remove initializers it has moved across, so they're available when the node runs but are no longer part of the ORT Graph instance.

We have to fully resolve the graph before any node fusion happens, so the model was valid in the beginning (which is the main thing we are trying to validate).

* Skip check in training build. Rules for allowing an 'invalid' input are unknown for those scenarios.

* Only check the initial load for a training build.

Co-authored-by: Pranav Sharma <prs@microsoft.com>
2021-05-11 19:48:17 +10:00
.github
cgmanifests Update protobuf to 3.16 (#7616) 2021-05-07 14:09:23 -07:00
cmake Enable bitcode for iOS by default (#7640) 2021-05-10 21:27:45 -07:00
csharp Update SessionOptions.cs (#7540) 2021-05-04 01:51:35 -07:00
dockerfiles Install and use conda on ortmodule CI pipelines (#7530) 2021-05-03 15:52:22 -07:00
docs Implement NCHWc Upsample linear mode (#7623) 2021-05-10 12:16:16 -07:00
include/onnxruntime/core Added InsertAndReduce strategy to PropagateCastOps transformation in addition to FloodFill strategy (#7454) 2021-05-10 20:46:28 -07:00
java Add android test app to validate Java API for ORT-Mobile Android (#7477) 2021-05-04 15:39:14 -07:00
js [js] specify correct config for terser (#7627) 2021-05-10 11:50:39 -07:00
objectivec Update Objective-C API (#7567) 2021-05-05 15:56:55 -07:00
onnxruntime Fail model loading if node input is a missing value (#7459) 2021-05-11 19:48:17 +10:00
orttraining Added InsertAndReduce strategy to PropagateCastOps transformation in addition to FloodFill strategy (#7454) 2021-05-10 20:46:28 -07:00
package/rpm Bumping up version to 1.7 (#6736) 2021-02-17 19:07:38 -08:00
samples Introduce ORTModule training API to ONNX Runtime 2021-03-10 10:48:10 -08:00
server Update ORT server build pipeline (#7030) 2021-03-16 18:02:09 -07:00
tools Enable bitcode for iOS by default (#7640) 2021-05-10 21:27:45 -07:00
winml Add ability for memory arenas to "shrink" periodically (#7284) 2021-05-08 07:53:21 -07:00
.clang-format
.clang-tidy
.dockerignore
.flake8
.gitattributes
.gitignore Add auto doc gen for ORTModule API during CI build (#7046) 2021-03-22 10:20:33 -07:00
.gitmodules build ONNXRuntime into WebAssembly (#6478) 2021-04-06 16:18:10 -07:00
build.amd64.1411.bat
build.bat
build.sh
CODEOWNERS Add myself to CODEOWNERS for ORTModule python code (#7453) 2021-05-07 15:35:45 -07:00
CONTRIBUTING.md Add README for docs (#6626) 2021-03-12 15:14:40 -08:00
LICENSE
NuGet.config
ort.wprp
packages.config Update DirectML version to 1.5.1 and enable ARM/ARM64 builds with DML (#7511) 2021-04-30 00:49:30 -07:00
README.md build ONNXRuntime into WebAssembly (#6478) 2021-04-06 16:18:10 -07:00
requirements-dev.txt
requirements-doc.txt Add auto doc gen for ORTModule API during CI build (#7046) 2021-03-22 10:20:33 -07:00
requirements-training.txt Add missing Python dependencies for ORT training (#7104) 2021-03-23 18:43:19 -07:00
requirements.txt Quantization calibration refactor (#6893) 2021-03-19 01:09:11 -07:00
setup.py Update DirectML version to 1.5.1 and enable ARM/ARM64 builds with DML (#7511) 2021-04-30 00:49:30 -07:00
ThirdPartyNotices.txt Enable CoreML EP for minimal extended mode (#7266) 2021-04-08 17:45:22 -07:00
VERSION_NUMBER Bumping up version to 1.7 (#6736) 2021-02-17 19:07:38 -08:00

ONNX Runtime is a cross-platform inference and training machine-learning accelerator compatible with deep learning frameworks, PyTorch and TensorFlow/Keras, as well as classical machine learning libraries such as scikit-learn, and more.

ONNX Runtime uses the portable ONNX computation graph format, backed by execution providers optimized for operating systems, drivers and hardware.

Common use cases for ONNX Runtime:

  • Improve inference performance for a wide variety of ML models
  • Reduce time and cost of training large models
  • Train in Python but deploy into a C#/C++/Java app
  • Run with optimized performance on different hardware and operating systems
  • Support models created in several different frameworks

ONNX Runtime inference APIs are stable and production-ready since the 1.0 release in October 2019 and can enable faster customer experiences and lower costs.

ONNX Runtime training feature was introduced in May 2020 in preview. This feature supports acceleration of PyTorch training on multi-node NVIDIA GPUs for transformer models. Additional updates for this feature are coming soon.

Get Started

http://onnxruntime.ai/

Build Pipeline Status

System CPU GPU EPs
Windows Build Status Build Status Build Status
Linux Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Build Status
Mac Build Status
Build Status
Android Build Status
iOS Build Status
WebAssembly Build Status

Data/Telemetry

This project may collect usage data and send it to Microsoft to help improve our products and services. See the privacy statement for more details.

Contributions and Feedback

We welcome contributions! Please see the contribution guidelines.

For feature requests or bug reports, please file a GitHub Issue.

For general discussion or questions, please use Github Discussions.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

License

This project is licensed under the MIT License.