Releases: pymc-devs/pytensor-ml
Releases · pymc-devs/pytensor-ml
Release list
v0.2.2
What's Changed
- Add a Sphinx docs site and an example on every public entrypoint by @jessegrabowski in #112
- Compose transforms on either side of the rule, not just after it by @jessegrabowski in #118
- Export the state helpers a hand-written transform needs by @jessegrabowski in #119
- Write back every statistic the compiled function trains by @jessegrabowski in #136
- Accept shape-derived step counts and bounds by @jessegrabowski in #137
- Add a Sharp Edges page for what surprises users of other frameworks by @jessegrabowski in #138
Full Changelog: v0.2.1...v0.2.2
v0.2.1
v0.2.0
What's Changed
- Let a transformer block initialize its residual projections by @jessegrabowski in #83
- Draw every parameter at construction, and refuse a constant scheme by @jessegrabowski in #84
- Replace the network-wide init scheme with per-parameter initializers by @jessegrabowski in #85
- Share one implementation between adam and adamw by @jessegrabowski in #86
- Stop the frozen-generator check from rejecting inner-graph inputs by @jessegrabowski in #87
- Skip parameters the loss cannot reach by @jessegrabowski in #88
- Serialize initializers, replacing CustomInitializer with a decorator by @jessegrabowski in #89
- Allow a stored learning rate, with one writer per variable by @jessegrabowski in #90
- Add a reduce-on-plateau learning rate policy by @jessegrabowski in #91
- Add a recurrent layer, split into a cell and a scan wrapper by @jessegrabowski in #92
- Hoist a draw out of a scan, so dropout works in a recurrent cell by @jessegrabowski in #93
- Add a GRU cell and layer by @jessegrabowski in #94
- Add an LSTM, and a direction argument with a Bidirectional wrapper by @jessegrabowski in #95
- Add a mask argument, so a padded batch does not disturb the recurrence by @jessegrabowski in #96
- Add a Conv1D layer, lowered to a patch gather and one matmul by @jessegrabowski in #97
- Dispatch convolution to per-backend kernels, and give the core CI no backend by @jessegrabowski in #98
- Add a Conv2D layer, and stop its gradient going through a batched matmul by @jessegrabowski in #99
- Add max and average pooling, dispatched on every backend by @jessegrabowski in #100
- Add Flatten, and take batch norm's statistics per channel by @jessegrabowski in #101
- Make ConvLayerGrad usable on its own as a transposed convolution by @jessegrabowski in #102
- Add zero, constant, reflection and replication padding layers by @jessegrabowski in #103
- Advance every training clock the compiled function reads by @jessegrabowski in #105
- Add skip_if, a step guard with non-finite and large-step conditions by @jessegrabowski in #107
- Compose a rule with trailing transforms, and scale by a schedule by @jessegrabowski in #108
- Unbreak the release build's metadata check by @jessegrabowski in #110
- Bump the publish action past the metadata 2.5 rejection by @jessegrabowski in #111
Full Changelog: v0.1.0...v0.2.0
v0.1.0
What's Changed
- Fix dtype upcast when loading checkpoints by @jessegrabowski in #54
- Add cosine annealing learning rate schedule by @jessegrabowski in #60
- Accept a float, shared variable, or schedule as learning_rate by @jessegrabowski in #61
- Add linear decay learning rate schedule by @jessegrabowski in #62
- Add exponential decay learning rate schedule by @jessegrabowski in #63
- Split the test job into parallel groups and cache compiled graphs by @jessegrabowski in #64
- Add polynomial decay learning rate schedule by @jessegrabowski in #65
- Add step decay learning rate schedule by @jessegrabowski in #66
- Let schedules run in either direction, and compose them by @jessegrabowski in #67
- Add a training clock and advance it once per step by @jessegrabowski in #68
- Allow unknown dimensions in Input by @jessegrabowski in #69
- Let parameters declare their own initializer by @jessegrabowski in #70
- Stop silently training parameters behind a stop-gradient by @jessegrabowski in #71
- Fix state-name collision between adam and adamw by @jessegrabowski in #73
- Name the parameters in the disconnected-input error by @jessegrabowski in #72
- Read schedules off the clock the rule counts on by @jessegrabowski in #74
- Fix RNG seeding and reject generators nothing advances by @jessegrabowski in #75
- Let compile_train take extra updates by @jessegrabowski in #76
- Fold the receptive field into the Xavier fans by @jessegrabowski in #77
- Let every layer take its initializers by @jessegrabowski in #78
Full Changelog: v0.0.7...v0.1.0
v0.0.7
What's Changed
- Cast weights to np.array before checkpointing by @jessegrabowski in #51
- Allow additional outputs in
compile_trainby @jessegrabowski in #52
Full Changelog: v0.0.6...v0.0.7
v0.0.6
What's Changed
- More optimizers! by @jessegrabowski in #41
- Cleanup and bugfixes by @jessegrabowski in #42
- Bugfixes and cleanup in state.py by @jessegrabowski in #43
- Break import cycles in pytensorf.py and layers.py by @jessegrabowski in #44
- Extract serialization codec out of json_serialize.py by @jessegrabowski in #45
- Split layers.py into a module by @jessegrabowski in #46
- Harmonize BatchNorm layers by @jessegrabowski in #47
- More cleanup by @jessegrabowski in #48
- Memoize optimizer state per rule and parameter by @jessegrabowski in #49
- Fix activation upcasting by @jessegrabowski in #50
Full Changelog: v0.0.5...v0.0.6
v0.0.5
What's Changed
- Refactor optimizers by @jessegrabowski in #31
- Add serialization of network and state by @jessegrabowski in #32
- Add erf-based activations: gelu, swish by @jessegrabowski in #33
- Add LayerNorm by @jessegrabowski in #34
- Add Embedding layer with integer-index lookup by @jessegrabowski in #35
- Mypy cleanup by @jessegrabowski in #36
- Add MultiheadAttention layer by @jessegrabowski in #37
- Update to pytensor>=3.2.3 by @jessegrabowski in #40
- Update repo owner by @jessegrabowski in #39
- Add TransformerBlock and MLP helpers by @jessegrabowski in #38
Full Changelog: v0.0.4...v0.0.5
v0.0.4
What's Changed
- Update imports by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/25
- Switch to hatchling + hatch_vcs build by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/24
- Move parameter extraction logic out of Model class by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/23
- Use shared variables to for model parameters by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/26
- bump pytensor/pymc versions by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/30
- fix: configure PyPI metadata and add python 3.14 classifier by @williambdean in https://github.com/jessegrabowski/pytensor_ml/pull/27
New Contributors
- @williambdean made their first contribution in https://github.com/jessegrabowski/pytensor_ml/pull/27
Full Changelog: jessegrabowski/pytensor_ml@v0.0.3...v0.0.4
v0.0.3
What's Changed
- Add softplus activation function by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/17
- Add BatchNorm2D layer by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/18
- Rename batch norm parameters for clarity by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/19
- Adadelta by @HangenYuu in https://github.com/jessegrabowski/pytensor_ml/pull/9
- AdamW by @HangenYuu in https://github.com/jessegrabowski/pytensor_ml/pull/8
Full Changelog: jessegrabowski/pytensor_ml@v0.0.2...v0.0.3
v0.0.2
What's Changed
- Fix typo in
model.initialize_weightsby @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/15 - Add dropout layer by @jessegrabowski in https://github.com/jessegrabowski/pytensor_ml/pull/16
- Optimizer Unit Testing by @HangenYuu in https://github.com/jessegrabowski/pytensor_ml/pull/10
New Contributors
- @HangenYuu made their first contribution in https://github.com/jessegrabowski/pytensor_ml/pull/10
Full Changelog: jessegrabowski/pytensor_ml@v0.0.1...v0.0.2