torch-onnx 0.1.25
pip install torch-onnx
Latest version
Released:
Experimental tools for converting PyTorch models to ONNX
Navigation
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIMeta
- License: MIT License (MIT License)
- Author: Justin Chu
- Tags onnx, pytorch, converter, convertion, exporter
- Requires: Python >=3.8
Classifiers
- Development Status
- Environment
- Intended Audience
- License
- Operating System
- Programming Language
Project description
PyTorch to ONNX Exporter
Experimental torch ONNX exporter. Compatible with torch>=2.1.
[!WARNING] This is an experimental project and is not designed for production use. Use
torch.onnx.export
for these purposes.
Installation
pip install --upgrade torch-onnx
Usage
import torch
import torch_onnx
from onnxscript import ir
import onnx
# Get an exported program with torch.export
exported = torch.export.export(...)
model = torch_onnx.exported_program_to_ir(exported)
proto = ir.to_proto(model)
onnx.save(proto, "model.onnx")
# Or patch the torch.onnx export API
# Set error_report=True to get a detailed error report if the export fails
torch_onnx.patch_torch(report=True, verify=True, profile=True)
torch.onnx.export(...)
# Use the analysis API to print an analysis report for unsupported ops
torch_onnx.analyze(exported)
Design
{dynamo/jit} -> {ExportedProgram} -> {torchlib} -> {ONNX IR} -> {ONNX}
- Use ExportedProgram
- Rely on robustness of the torch.export implementation
- Reduce complexity in the exporter
- This does not solve dynamo limitations, but it avoids introducing additional breakage by running fx passes
- Flat graph; Scope info as metadata, not functions
- Because existing tools are not good at handling them
- Eager optimization where appropriate
- Because exsiting tools are not good at optimizing
- Drop in replacement for torch.onnx.export
- Minimum migration effort
- Build graph eagerly in the exporter
- Give the exporter full control over the graph being built
Why is this doable?
- We need to verify torch.export coverage on Huggingface Optimum https://github.com/huggingface/optimum/tree/main/optimum/exporters/onnx; and they are not patching torch.onnx itself.
- Patch torch.onnx.export such that packages do not need to change a single line to use dynamo
- We have all operators implemented and portable
Project details
Verified details
These details have been verified by PyPIProject links
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIMeta
- License: MIT License (MIT License)
- Author: Justin Chu
- Tags onnx, pytorch, converter, convertion, exporter
- Requires: Python >=3.8
Classifiers
- Development Status
- Environment
- Intended Audience
- License
- Operating System
- Programming Language
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file torch_onnx-0.1.25.tar.gz
.
File metadata
- Download URL: torch_onnx-0.1.25.tar.gz
- Upload date:
- Size: 72.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cddcc6089cbfdd3e5ab65dc8ed93249e257215eb0f6c068ffa7377d6ef6b767e |
|
MD5 | 2afd465c52a603b4b6f705a2bdc9ef06 |
|
BLAKE2b-256 | 87bc454c57e61e47875245230491313cd5813ce15eb3aa8633e8064008097924 |
File details
Details for the file torch_onnx-0.1.25-py3-none-any.whl
.
File metadata
- Download URL: torch_onnx-0.1.25-py3-none-any.whl
- Upload date:
- Size: 81.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9ce6d5fe4d77c4e697cf97dbbf919a1b77834b299a9e9debd2a25d5415ce68d |
|
MD5 | 529db9f902eca1428f9e6349f79459ba |
|
BLAKE2b-256 | 9686a5bae457e4fceb61cf873789e59f265f83bac0380ffb607abba42ba472a5 |