Releases: danielward27/flowjax
v12.3.0
What's Changed
The main thing of note is a bug fix to ContrastiveLoss
(see #164). Apologies for any inconvenience!
- Fix bug in
ContrastiveLoss
normalization and add improve numpyro transformed wrapper by @danielward27 in #164
Full Changelog: v12.2.0...v12.3.0
v12.2.0
v12.1.2
What's Changed
- Avoid doctest for now by @danielward27 in #156
- Update github workflows and version by @danielward27 in #157
Full Changelog: v12.1.1...v12.1.2
v12.1.1
What's Changed
- Fix param, static order in MaximumLikelihoodLoss by @danielward27 in #148
- Jaxtyping by @danielward27 in #154
- Update faq by @danielward27 in #153
- Add clipping for numerical stability by @danielward27 in #152
Full Changelog: v12.0.1...v12.1.1
v12.0.1
Change jax.tree
-> jax.tree_util
to maintain compatibility with earlier jax versions. Thanks @mdmould!
What's Changed
- Replace jax.tree API with jax.tree_util for backwards compatibility by @mdmould in #143
- Test for weight normalization by @danielward27 in #144
- Version bump by @danielward27 in #145
Full Changelog: v12.0.0...v12.0.1
v12.0.0
All the breaking changes in this major release were introduced in #142, so if any issues arise, check #142 to see if it gives a hint on how to update. If anyone has any issues, please open an issue :)
What's Changed
- Reshape by @danielward27 in #138
- Wrap bijections for converting transformed distributions to numpyro by @danielward27 in #139
- min scale for affine transformer by @danielward27 in #140
- Negative scales by @danielward27 in #141
- Wrap by @danielward27 in #142
Full Changelog: v11.3.0...v12.0.0
v11.3.0
A mix of additions/improvements/bug fixes, listed below. Thanks @mdmould for your help!
What's Changed
- Add guide for citing by @danielward27 in #126
- numpyro sample wrapper by @danielward27 in #127
- Add distribution_to_numpyro by @danielward27 in #128
- Exponential by @danielward27 in #129
- bugfix for concatenate array splitting by @mdmould in #131
- bugfix for concatenate bijection to allow jax tracing by @mdmould in #133
- end knots transformed by spline instead of identity by @mdmould in #134
- Update README.md typo by @danielward27 in #135
- Numpyro conditional bug fix by @danielward27 in #136
- Option to control returning best parameters vs last parameters in training by @danielward27 in #137
New Contributors
Full Changelog: v11.2.0...v11.3.0
v11.2.0
Release adds bisection search to invert the bijection in block neural autoregressive flows (BlockAutoregressiveNetwork
).
Possible but unlikely breaking change:
BlockAutoregressiveNetwork
inverse methods will no longer raise aNotImplementedError
, which could be a breaking change e.g. if a user relies on exception handling.
What's Changed
- Add bisection inverter by @danielward27 in #122
- Adapt bisection interval bug fix by @danielward27 in #123
- Handle exact solution in bisection search by @danielward27 in #125
Full Changelog: v11.1.0...v11.2.0
v11.1.0
Should be no breaking changes from v11.0.0. Adds LogNormal
and Laplace
.
What's Changed
- Update readme by @danielward27 in #119
- Add LogNormal by @danielward27 in #120
- add Laplace by @danielward27 in #121
Full Changelog: v11.0.0...v11.1.0
v11.0.0
The most important breaking changes (in importance order) are:
1. Renaming of flows
- All the flows have moved from being classes (with standard
PascalCase
naming) to functions with the standardsnake_case
naming. - Reason for change: None of the flows implemented any methods or extended the base class
AbstractTransformed
other than forwarding basic information about the bijection, so the use of classes was not needed. Instead, flows now are functions that return aTransformed
distribution.
2. Key word only arguments
- A lot of functions and classes now make use of key word only arguments to ensure more readable code (e.g. as
TriangularAffine(loc, arr, lower=True)
is much clearer thanTriangularAffine(loc, arr, True)
. - This may introduce errors along the lines of
TypeError: function takes at most ... arguments (... given)
, but this should be straightforward to fix by converting to using key word arguments where required.
3. Abstract{Distribution/Bijection}
Bijection
has been renamed toAbstractBijection
Distribution
has been renamed toAbstractDistribution
4. Custom bijections
- Custom bijection implementations no longer need to manually validate input shapes, as the methods are automatically wrapped during an
__init_subclass__
method inAbstractBijection
. The bijection method_argcheck_and_cast
has been removed as it is no longer needed.
What's Changed
- Bnaf Issue by @danielward27 in #103
- Tidy flow definitions and add merge_chains by @danielward27 in #104
- Numpyro by @danielward27 in #107
- Abstract var by @danielward27 in #108
- Make losses consistent by @danielward27 in #109
- Ensure int masks and ranks by @danielward27 in #110
- Pass params in step by @danielward27 in #111
- Flows to functions by @danielward27 in #112
- Add identity by @danielward27 in #113
- Add default shape to identity by @danielward27 in #114
- pypi trusted publishing by @danielward27 in #115
- Bijection checks by @danielward27 in #116
- Multivariate normal by @danielward27 in #117
- Docs by @danielward27 in #118
Full Changelog: v10.1.0...v11.0.0