ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
Find a file
Jameson Miller 108b860dc1
Add dev container / codespace configuration (#12256)
Dev containers[1] provide a self-contained development environment that
can be tailored for a project. GitHub Codespaces[2] provide a cloud
hosted environment to run these containers in. This makes it easy to
provision a consistent development environment with developer tooling
already installed and configured that provide the following benefits:

1. Developer onboarding is simplified.
    1. Easy to get environment setup and running
    2. Reference environment is available, if developer is having issues
       with local environment
2. Developer tooling is provided and automatically configured.
    1. Python / C++ build tooling
    2. Python / C++ code formatters / linters
3. Easy to provision cloud hosted environment via GitHub Codespace.
4. Easy to create ephemeral development environments to test new changes
     1. Can be used to provision environments to test changes
        and Pull Requests

This can ease several pain points that developers on-boarding to the
project can encounter. One of the problems I have seen with developers
new to the project (I am one of these) is having the baseline
development environment (Python / C++) and recommended tools (e.g. VS
Code Python / C++ extensions, linters, and autoformatters) installed and
configured to efficiently get started in the repository. For all
developers, this makes it easy to leverage ephemeral cloud hosted
development environments via GitHub Codespaces.

**Notes:**

  - Compiling the project can run into trouble if the codespace has < 32
    GB of RAM

1) https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers
2) https://docs.github.com/en/codespaces/overview
2022-07-21 15:29:15 -04:00
.config A new pipeline to replace the existing WindowsAI packaging pipeline (#10646) 2022-03-03 08:56:49 -08:00
.devcontainer Add dev container / codespace configuration (#12256) 2022-07-21 15:29:15 -04:00
.gdn Update compliance tasks in python packaging pipeline and fix some compile warnings (#8471) 2021-07-30 17:16:37 -07:00
.github [TVM EP][CI] Integrate TVM EP into ORT public CI on Windows (#12161) 2022-07-18 11:12:16 +02:00
.pipelines DML EP Update to DML 1.9 (#12090) 2022-07-05 16:30:54 -07:00
.vscode cpplint & Eager mode: refactor and add comments to empty_* functions, general lint cleanup in ort_aten (#12238) 2022-07-20 11:47:57 -04:00
cgmanifests [TVM EP] support build on Windows (#11851) 2022-07-13 10:48:42 +02:00
cmake Add baseline gemm for kernel explorer (#12050) 2022-07-20 13:49:26 +08:00
csharp Add undocumented attribute to disable generation of Java bindings from the Android AAR. (#12075) 2022-07-05 10:29:32 -07:00
dockerfiles [EP-Perf] Install new wheel>=0.35.1 dependency (#11917) 2022-06-20 15:09:27 -07:00
docs [TVM EP] support build on Windows (#11851) 2022-07-13 10:48:42 +02:00
include/onnxruntime/core Eliminate unnecessary status lock acquisition in TP (#12196) 2022-07-19 14:16:12 -07:00
java [java] First part of the JNI error handling rewrite (#12013) 2022-07-12 15:16:54 -07:00
js prepare test folder from GitHub (#12220) 2022-07-20 22:01:08 -07:00
objectivec Format all python files under onnxruntime with black and isort (#11324) 2022-04-26 09:35:16 -07:00
onnxruntime [ROCm] Enable int8 for MatMulInteger Op (#11776) 2022-07-21 11:20:48 -07:00
orttraining Implementing aten::gt.Scalar_out and aten::lt.Scalar_out (#12181) 2022-07-21 10:36:43 -04:00
package/rpm Bump master version to 1.12 (#10797) 2022-03-28 12:30:11 -07:00
samples Format all python files under onnxruntime with black and isort (#11324) 2022-04-26 09:35:16 -07:00
tools [ROCm] Enable int8 for MatMulInteger Op (#11776) 2022-07-21 11:20:48 -07:00
winml Fix WinML Tests are still targetting deprecated (deleted) experimental signal op definitions (#12006) 2022-06-27 16:35:50 -07:00
.clang-format
.clang-tidy
.dockerignore
.flake8 Fix torch cpp ext build when CPU wheel is installed but GPU card is present (#11608) 2022-05-25 09:44:26 -04:00
.gitattributes
.gitignore Add python docstring linting in vscode settings (#11316) 2022-04-23 06:23:04 -07:00
.gitmodules [TensorRT EP] support TensorRT 8.4 (#11866) 2022-06-16 07:46:40 -07:00
build.amd64.1411.bat
build.bat
build.sh
CITATION.cff Fix CITATION.cff and add automatic validation of your citation metadata (#10478) 2022-04-13 10:03:52 -07:00
CODEOWNERS Update to use teams instead of individual GH handles (#11163) 2022-04-12 12:06:12 -07:00
CONTRIBUTING.md minor improvements to CONTRIBUTING doc (#11080) 2022-04-12 15:22:34 -07:00
lgtm.yml Add LGTM config for c++ and c# (#11365) 2022-04-27 10:51:40 -07:00
LICENSE
NuGet.config
ort.wprp
ORT_icon_for_light_bg.png Update nuget icon (#10672) 2022-03-01 09:11:03 -08:00
packages.config DML EP Update to DML 1.9 (#12090) 2022-07-05 16:30:54 -07:00
pyproject.toml Add python static type checking in CI checks (#11518) 2022-05-16 13:26:56 -07:00
README.md Add OpenVINO Pipeline Status to README (#11299) 2022-04-21 15:59:50 -07:00
requirements-dev.txt Introduce parameterized as a dev dependency (#11364) 2022-04-26 17:24:39 -07:00
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 pin protobuf version to be compatible with onnx (#12132) 2022-07-08 15:01:27 -07:00
requirements.txt.in Add additional python requirements (#11522) 2022-05-20 16:16:18 -07:00
SECURITY.md Microsoft mandatory file (#11619) 2022-05-25 13:56:10 -07:00
setup.py List 3.10 as supported python version and remove 3.6 (#12141) 2022-07-12 15:28:30 -07:00
ThirdPartyNotices.txt add copyright (#9943) (#9970) 2021-12-08 14:34:53 -08:00
VERSION_NUMBER Bump master version to 1.12 (#10797) 2022-03-28 12:30:11 -07:00

ONNX Runtime is a cross-platform inference and training machine-learning accelerator.

ONNX Runtime inference can enable faster customer experiences and lower costs, supporting models from deep learning frameworks such as PyTorch and TensorFlow/Keras as well as classical machine learning libraries such as scikit-learn, LightGBM, XGBoost, etc. ONNX Runtime is compatible with different hardware, drivers, and operating systems, and provides optimal performance by leveraging hardware accelerators where applicable alongside graph optimizations and transforms. Learn more →

ONNX Runtime training can accelerate the model training time on multi-node NVIDIA GPUs for transformer models with a one-line addition for existing PyTorch training scripts. Learn more →

Get Started

General Information: onnxruntime.ai

Usage documention and tutorials: onnxruntime.ai/docs

Companion sample repositories:

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

Windows distributions of 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.