What's Changed
Optimizer and Rewriter
- [Rewriter] Extend list of supported commutative operations by @iksnagreb in #2741
- fix(fuse_batchnorm): support convtranpose + bn fusion with group != 1 by @AyoubMDL in #2879
- optimizer: Prevent constant folding of DynamicQuantizeLinear by @Copilot in #2865
- Unify failure-handling in rewrite-rule by @gramalingam in #2866
- Fix non-deterministic rewriter behavior in multi-output pattern matching by @Copilot in #2880
- Fix BatchNorm fusion producing invalid ONNX when Conv nodes share weight initializers by @Copilot in #2883
- Add fusion rule to remove Expand before broadcast-capable binary operators by @Copilot in #2862
- Use logging instead of print in RewritePass by @tgolsson in #2835
- fix: normalize cache key dtype to prevent initializer name collisions by @gramalingam in #2888
ONNX IR
- Refactor schemas to use the onnx_ir version by @justinchuby in #2797
Torch Lib
- Add converter torch aten::histc by @xadupre in #2796
- Trace single op.SplitToSequence by @titaiwangms in #2817
- Fix bicubic antialias export: use cubic_coeff_a=-0.5 instead of -0.75 by @Copilot in #2849
- [torchlib] Add missing dtype parameter to aten_mean_dim by @linusjuni in #2885
- [torchlib] Fix torchvision::roi_align lowering to accept 7-arg schema by @FraGirla in #2830
Core ONNX Script
- First version of GraphBuilder by @gramalingam in #2814
- Allow GraphBuilder to call script functions by @gramalingam in #2820
- Add GraphBuilder.subgraph() and TensorType.to_ir() for control-flow ops by @gramalingam in #2824
- Support outer scope value reference in script by @gramalingam in #2831
- Expose OpBuilder as onnxscript.OpBuilder by @gramalingam in #2840
- Extend graph construction utility by @gramalingam in #2842
- Implement schema-based input/attribute partitioning in GraphBuilder by @gramalingam in #2837
- Replace input-constraint asserts with TranslationError in converter by @gramalingam in #2845
- Support None as op input in GraphBuilder by @justinchuby in #2868
- Add parent/root tracking to GraphBuilder for subgraph Parameter realization by @gramalingam in #2877
- Add input() and add_output() methods to GraphBuilder by @justinchuby in #2828
- Handling initializers in GraphBuilder by @gramalingam in #2889
- Make GraphBuilder.init use keyword-only args after graph by @gramalingam in #2893
- Trivial cleanup of onnxscript converter by @gramalingam in #2839
New Features
- Add onnxscript.nn module with Module and Parameter classes by @justinchuby in #2819
- Add nn.Sequential: callable ModuleList that chains forward calls by @justinchuby in #2823
- Update
nn.Sequentialsignature to match PyTorch (*modulesvarargs) by @Copilot in #2827
Other Changes
- Raise version converter error when function attribute is RefAttr by @titaiwangms in #2806
- Update ruff version to 0.15.1 by @justinchuby in #2809
- Add back inliner to version converter by @titaiwangms in #2813
- Remove unused function before version converter by @titaiwangms in #2816
New Contributors
- @FraGirla made their first contribution in #2830
- @linusjuni made their first contribution in #2885
- @tadani3 made their first contribution in #2894
Full Changelog: v0.6.2...v0.7.0