v0.2.6
What's Changed
Breaking Changes
- Remove the RefAttr class by @justinchuby in #2328
- [IR] Normalize "ai.onnx" domain to "" by @justinchuby in #2283
Optimizer and rewriter
- Add BiasGelu, Erfgelu and SkipLayerNormalization fusions by @shubhambhokare1 in #2222
- Allow sdpa fusion to accept custom scale factor by @shubhambhokare1 in #2210
- Add support for a non-backtracking version of pattern disjunction by @gramalingam in #2242
- Rewrite Skip fusions with check functions by @shubhambhokare1 in #2259
- Add support for backtracking in pattern matcher by @gramalingam in #2273
- Add fusion rules (Whisper optimizations) by @shubhambhokare1 in #2221
- Use OrPatterns to support SkipLayerNormalization rewrite variations by @shubhambhokare1 in #2277
- Unify rule implementations with classes by @justinchuby in #2288
ONNX IR
- [IR] Handle invalid output deserialization by @justinchuby in #2223
- [IR] Improve documentation 1/n by @justinchuby in #2227
- Improve
ir.nodeannotations to accept None inputs by @justinchuby in #2224 - Update type annotations for passes by @justinchuby in #2230
- Add LazyTensor class to implement ir.TensorProtocol by @justinchuby in #2232
- [IR] Support specifying output value in Tape by @justinchuby in #2225
- [IR] Allow to copy an unfrozen version of the Shape by @justinchuby in #2238
- [IR] Use shape.freeze() by @justinchuby in #2247
- [IR] Fix sequence handling in tensor function by @justinchuby in #2252
- [IR] Introduce short name for dtypes by @justinchuby in #2249
- [IR] Display constant tensors for Value by @justinchuby in #2248
- [IR] Refactor TensorBase to simplify implementation by @justinchuby in #2081
- [pass] Update DCE passes by @justinchuby in #2257
- Create short tensor str for nodes by @justinchuby in #2262
- [Pass] Support lifting subgraph initializers to main graph by @titaiwangms in #2266
- Add add/remove initializers passes by @justinchuby in #2253
- [IR] Export all common passes in
onnxscript.ir.passes.commonby @justinchuby in #2270 - [IR] Record owning graph for input/output/initializers by @justinchuby in #2282
- Add from_onnx_text function to convert ONNX text to IR model by @justinchuby in #2291
- [IR] Docs for Node by @justinchuby in #2297
- [IR] introduce slice support on graph by @Johansmm in #2307
Torch Lib
- [torchlib] Fix scatter reduce on error cases by @justinchuby in #2287
Documentation
- Improvement to IR docs 2/n by @justinchuby in #2229
Other Changes
- Generate opset23 with opgen by @justinchuby in #2226
- Update proto comparison error message by @justinchuby in #2215
- Refactor test models for ort_fusions by @shubhambhokare1 in #2237
- Use ir methods to replace onnx helper by @justinchuby in #2091
- Export version_converter and support model proto by @justinchuby in #2251
- Fix attribute handling in autocast by @justinchuby in #2256
- Update optimize_for_ort call to allow debug and shape_inference modes by @shubhambhokare1 in #2236
- Temporarily skip the whisper test in skip layernorm fusion by @justinchuby in #2286
- Returning choice values in patterns by @gramalingam in #2284
- Fix docs builder pipeline by @justinchuby in #2293
- Split pattern.py by @gramalingam in #2296
- Fix rename within comments by @gramalingam in #2305
- Create publish-dev.yml for ESRP release by @justinchuby in #2101
- Update CONTRIBUTING.md to remove the note about production by @justinchuby in #2308
- Fix RewriterContext import error by @gramalingam in #2314
- Update publish-dev.yml by @justinchuby in #2306
- Fix bug in handling constants in cos sin fusion by @gramalingam in #2319
- Fixes to version converter by @gramalingam in #2318
- Disable fused_matmul_rule_sets by @titaiwangms in #2321
- Remove unnecessary warning by @xadupre in #2327
- Cleanup mha-bias rules using disjunction by @gramalingam in #2326
- Create official ESRP publishing pipelines by @justinchuby in #2320
Full Changelog: v0.2.5...v0.2.6