### Consolidate ORTModule logging There are few improvements for ORTModule loggings: - All ORTModule logging are used logger that is initialized in `ortmodule.py`. - Manage all export logs same way, e.g. use ` _logger.suppress_os_stream_output(log_level=self._debug_options.logging.log_level)` to control exporting related logs suppressing or not. If any warning or errors suppressed, `self._warning_log_detected_during_export` will be set to True, then when we log ORTModule feature matrix, we will also told users there are logs suppressed. - Downgrade some warnings. We had some warnings for years, and looks many models have them by default, no action we actually can take, so downgrade them to make user logging cleaner. - PyTorch export requires update of custom export function signature changes, otherwise, _symbolic_context_handler complains with warnings, so update custom export function adaption for version >=1.13 PyTorch. - Add ORTModule feature matrix summary, **this is supposed to be only places users see our logs by default** (unless they use INFO or VERBOSE). Features ON/OFF states are shown clearly to them in case they want to try some features in OFF states. This logs only shows up in rank 0 (if there are multiple rank), the intention is we want user to see a useful and clean output from ORTModule by default. The outputs shown as below:   - `reinitialize_ortmodule` in util.py is only used by ortmodule.py, moving it into ortmodule.py, then utils takes no dependency on `orttraining/orttraining/python/training/ortmodule/_custom_op_symbolic_registry.py`, then `_custom_op_symbolic_registry.py` can call functions defined in utils.py (without recursively include). |
||
|---|---|---|
| .config | ||
| .devcontainer | ||
| .gdn | ||
| .github | ||
| .pipelines | ||
| .vscode | ||
| cgmanifests | ||
| cmake | ||
| csharp | ||
| dockerfiles | ||
| docs | ||
| include/onnxruntime/core | ||
| java | ||
| js | ||
| objectivec | ||
| onnxruntime | ||
| orttraining | ||
| rust | ||
| samples | ||
| swift/OnnxRuntimeBindingsTests | ||
| tools | ||
| winml | ||
| .clang-format | ||
| .clang-tidy | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .lintrunner.toml | ||
| build.amd64.1411.bat | ||
| build.bat | ||
| build.sh | ||
| CITATION.cff | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| lgtm.yml | ||
| LICENSE | ||
| NuGet.config | ||
| ort.wprp | ||
| ORT_icon_for_light_bg.png | ||
| Package.swift | ||
| packages.config | ||
| pyproject.toml | ||
| README.md | ||
| requirements-dev.txt | ||
| requirements-doc.txt | ||
| requirements-lintrunner.txt | ||
| requirements-training.txt | ||
| requirements.txt.in | ||
| SECURITY.md | ||
| setup.py | ||
| ThirdPartyNotices.txt | ||
| VERSION_NUMBER | ||

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 & Resources
-
General Information: onnxruntime.ai
-
Usage documention and tutorials: onnxruntime.ai/docs
-
YouTube video tutorials: youtube.com/@ONNXRuntime
-
Companion sample repositories:
- ONNX Runtime Inferencing: microsoft/onnxruntime-inference-examples
- ONNX Runtime Training: microsoft/onnxruntime-training-examples
Build Pipeline Status
| System | Inference | Training |
|---|---|---|
| Windows | ||
| Linux | ||
| Mac | ||
| Android | ||
| iOS | ||
| Web | ||
| Other |
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.