Export a PyTorch model to ONNX and validate output parity with onnxruntime
domain: docs.pytorch.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Put the model in eval mode and prepare example inputs matching the expected shape
Call torch.onnx.export(model, example_inputs, 'model.onnx', ...), using dynamic_axes for the legacy TorchScript-based exporter or dynamic_shapes with dynamo=True for the newer torch.export-based exporter
Check which exporter path is default for your installed PyTorch version, since the dynamo-based exporter became default in more recent 2.x releases
Load the exported file with onnxruntime.InferenceSession('model.onnx') and run inference on the same example inputs
Compare ONNX Runtime outputs against the original PyTorch model's outputs numerically to confirm parity
Known gotchas
dynamic_axes (legacy tracer) and dynamic_shapes (dynamo exporter) are not interchangeable; using the wrong one for the active exporter mode is silently ignored or errors
The default opset_version and default exporter mode (legacy vs dynamo) differ across PyTorch 2.x releases, so pin and state your PyTorch version alongside any export code
The legacy TorchScript-based export path is being phased out in favor of the torch.export/dynamo-based exporter; check current docs before relying on old tutorials
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?