What's Changed
- reorganize workspace by @minghuaw in #96
- Setting up empty mlx-nn crate for future NN works by @minghuaw in #99
- Trust synchronization on the cpp side by @minghuaw in #102
- chore(example): add automatic_differentiation example by @dcvz in #103
- chore(mlx-c): update to 0.0.9 by @dcvz in #105
- Restrict use of ScalarOrArray trait to operator impl and ClipBound by @minghuaw in #108
- Allow using named
shape
parameter inarray!()
macro by @minghuaw in #109 - Use custom c shim for fallible closure by @minghuaw in #116
- Initial attempt at implementing
mlx-nn
NN modules by @minghuaw in #100 - Change
GenarateBuilder
andGenerateTestCases
to function-like proc_macro by @minghuaw in #120 - Allow indexing with
&Array
by @minghuaw in #122 - feat(nn): embedding by @dcvz in #121
- Implement
AdaGrad
optimizer by @minghuaw in #125 - chore(mlx-c): Update MLX-C to 0.10.0 by @dcvz in #126
- Implement
AdaDelta
optimizer by @minghuaw in #127 - chore(mlx-c): Add remaining additions by @dcvz in #128
- feat(mlx-fast): Implement NN part of mlx-fast by @dcvz in #131
- Move losses and optimizers into mlx-rs by @minghuaw in #132
- feat(api): Add load ops by @dcvz in #133
- implement Adam, AdamW and Adamax optimizers by @minghuaw in #134
- Add remaining optimizers by @minghuaw in #135
- feat: Allow recursive freeze/unfreeze by @minghuaw in #143
- fix: Fix error with checking if parameter is frozen on empty module by @minghuaw in #144
- feat: Change
Module::forward
to take&mut self
by @minghuaw in #145 - Revamp internal macro
generate_builder!{}
by @minghuaw in #150 - Add generic type
Args
inModule
trait to allow binary modules by @minghuaw in #146 - update: Update to revamped c binding by @minghuaw in #147
- feat(nn): Add normalizations by @minghuaw in #138
- feat(nn): Add convolution_transpose mod by @minghuaw in #137
- feat(nn): Add transformer mod by @minghuaw in #151
- feat(nn): Add upsample mod by @minghuaw in #153
- feat(nn): Add recurrent module by @minghuaw in #149
- fix: Remove unnecessary logical ops in optimizer by @minghuaw in #163
- chore: Renamed value_and_grad_with_hashmap to keyed_value_and_grad by @minghuaw in #165
- chore: Add missing docs by @minghuaw in #167
- chore: Improve closure error message by @minghuaw in #164
- fix: Fix vec of module not listing all params by @minghuaw in #162
- feat(example): update mnist example by @minghuaw in #159
- feat(nn): Part 1 of quantization by @minghuaw in #142
- feat(nn): Another attempt at positional encoding by @minghuaw in #172
- chore: replace
&Array
withimpl AsRef<Array>
by @minghuaw in #170 - feat(nn): Add pooling by @minghuaw in #139
- refactor: move mlx-nn into mlx-rs by @minghuaw in #173
- feat: trait
Quantizable
and enum wrapperMaybeQuantized
by @minghuaw in #174 - feat: compile with state by @minghuaw in #166
- feat: Add conversion between
safetensors::tensor::TensorView
andArray
by @minghuaw in #176 - chore: bump and unify version by @minghuaw in #175
- chore: version 0.21.0-rc.1 by @minghuaw in #180
- chore: mlx-sys version 0.1.0-rc.1 by @minghuaw in #181
- chore: move mlx-internal-macros tests to mlx-tests by @minghuaw in #182
- chore: change root README to sym link to mlx-rs/README.md by @minghuaw in #183
- fix & example: mistral by @minghuaw in #178
- refactor: Use c-API io for loading/saving module parameters by @minghuaw in #189
- chore(docs): Update README by @dcvz in #191
- chore: bump up version to 0.21.0-rc.2 by @minghuaw in #192
- refactor: save/load optimizer state by @minghuaw in #190
- chore(readme): update MSRV and license badge by @dcvz in #195
- refactor: Remove prelude mod by @minghuaw in #196
- chore: Minor update to readme by @minghuaw in #197
- chore: Bump up version and updated changelog by @minghuaw in #198
Full Changelog: v0.14.0...v0.21.0