Course Objective & Scope
ONNX and ONNX Runtime provide the standard path for running models trained across PyTorch, TensorFlow, scikit-learn and XGBoost inside a single lightweight runtime with hardware acceleration. This course covers the practical workflow from exporting models into an ONNX computation graph to running high-speed inference in production.
Participants convert models using torch.onnx, tf2onnx, skl2onnx and Hugging Face Optimum, inspect graphs with Netron, verify numerical equivalence and apply ONNX Runtime graph optimisations and INT8 quantization. They finish with a reusable conversion and validation script built on one of the organisation's models.
Who Should Attend?
- ML engineers seeking low-latency serving with minimal runtime dependencies
- MLOps teams standardising inference across multiple training frameworks
- Software developers integrating models into non-Python environments (C++, C#, Java, edge/browser)
- Prerequisite: Python and working knowledge of PyTorch, TensorFlow or scikit-learn
Key Takeaways
- Export PyTorch, TensorFlow, scikit-learn and Hugging Face models to ONNX with dynamic axes
- Manage ONNX opset versions and inspect operator graphs using Netron
- Automate numerical equivalence checks between original and ONNX model outputs
- Configure ONNX Runtime Execution Providers (CPU, CUDA, TensorRT, OpenVINO)
- Reduce model size and latency using graph optimisations and FP16/INT8 quantization
Curriculum
The ONNX Ecosystem and Graph Structure
- Intermediate Representation (IR), operators, tensors and opset versions
- Visualising and validating model graphs with Netron and
onnx.checker
Converting Models from Frameworks to ONNX
- Exporting from PyTorch with
torch.onnx.exportand definingdynamic_axes - Converting models with
tf2onnx,skl2onnxand Hugging Face Optimum
Numerical Validation and Troubleshooting Exports
- Checking output tolerances with
numpy.testing.assert_allclose - Resolving unsupported operators, frozen shapes and control-flow pitfalls
ONNX Runtime and Execution Providers
InferenceSession,SessionOptions, thread settings and I/O binding- Selecting CPU, CUDA, TensorRT and OpenVINO Execution Providers
Graph Optimisation and Quantization
- Constant folding, operator fusion (ORT_ENABLE_ALL) and saving offline-optimised graphs
- Dynamic and static INT8 quantization with speed-versus-accuracy benchmarks
Other Courses in This Category
-
NVIDIA Triton Inference Server Fundamentals
High-performance model serving with NVIDIA Triton Inference Server: Model Repository layout, config.pbtxt, dynamic batching, concurrent model execution, HTTP/gRPC clients and Perf Analyzer. For ML and MLOps engineers.
- Live Course
- 5 modules
-
Advanced NVIDIA Triton: Ensembles, BLS, LLMs and Tuning
Automated tuning with Triton Model Analyzer, Ensembles and Business Logic Scripting (BLS), stateful/sequence batching, shared memory (IPC) and LLM serving with TensorRT-LLM/vLLM backends. For senior ML engineers.
- Live Course
- 5 modules
-
Integrating Multi-Framework Models with NVIDIA Triton
Unifying PyTorch, TensorFlow, ONNX, TensorRT, OpenVINO and scikit-learn/XGBoost (FIL) models alongside custom Python backends on a single Triton server. For ML and MLOps engineers managing heterogeneous model portfolios.
- Live Course
- 5 modules
-
Serving Machine Learning and LLM Models with FastAPI
Building production-ready ML and LLM inference services with FastAPI: model loading via lifespan, Pydantic v2 schemas, async/threadpool execution, SSE streaming, Gunicorn/Uvicorn tuning and Prometheus metrics. For developers and ML engineers.
- Live Course
- 5 modules
-
Serving Machine Learning Models with Flask
Building lightweight ML prediction services with Flask and WSGI: Application Factory, Blueprints, Marshmallow/Pydantic validation, Gunicorn worker/thread tuning and Docker packaging. For data scientists and Python developers.
- Live Course
- 5 modules
-
Distributed Model and LLM Serving with Ray Serve
Python-native distributed model and LLM serving with Ray Serve: DeploymentGraph composition, fractional GPU sharing, dynamic batching, replica autoscaling, vLLM integration and KubeRay. For ML and platform engineers.
- Live Course
- 5 modules
Get in touch