Skip to content

Releases: danielward27/flowjax

v7.0.0

12 Jan 11:20
91fede8
Compare
Choose a tag to compare

What's Changed

#61 introduces important (and breaking) changes:

  1. Distributions and bijections now have shapes, rather than assuming everything is a vector with shape (dim, ). Distributions and bijections must define the attributes shape and cond_shape (see Distribution and Bijection).
  2. distribution.sample() now has a sample_shape: Tuple[int] argument, replacing n: int. Providing sample_shape=(n,) is equivalent to the previous n=n.
  3. Transformers have been removed, instead Bijection types can be used directly as transformers. i.e. Affine() or RationalQuadraticSpline(**args) should be used instead of AffineTransformer(), RationalQuadraticSplineTransformer(**args).
  4. RationalQuadraticSpline arguments renamed to knots and interval, rather than k and B
  5. Rename ScannableChain to Scan.
  6. Better documentation.
  7. Bumps version to 7.0.0

Full Changelog: v6.1.0...v7.0.0

v6.1.0

20 Dec 14:26
ec7bc39
Compare
Choose a tag to compare

What's Changed

Added sphinx documentation

Full Changelog: v6.0.0...v6.1.0

v6.0.0

17 Dec 21:12
e572cb4
Compare
Choose a tag to compare

Lots of new features, bug fixes, and breaking changes.

Main new features:

  • New bijections and distributions.
  • Added ScannableChain, which facilitates scanning (jax.lax.scan) over flow layers, massively decreasing compile times.

Some key breaking changes from v5:

  • Changes in distribution parameterisation (e.g. Normal).
  • Flows changed to classes rather than functions (e.g. coupling_flow is now CouplingFlow, etc.
  • Removal of intertwine_flip and intertwine_permute (tended to be less readable without saving many lines).
  • Changing of module names, and separating some functionality into new modules
    • flowjax.bijections.bnaf -> flowjax.bijections.block_autoregressive_network
    • flowjax.nn.bnaf -> flowjax.nn.block_autoregressive
    • Neural networks now in flowjax.nn
    • Masks now in flowjax.masks

What's Changed

New Contributors

Full Changelog: v5.0.0...v6.0.0

v5.0.0

20 Sep 11:07
7cacf73
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.0.2...v5.0.0

v4.0.2

17 Sep 14:01
Compare
Choose a tag to compare

New version (last release version in setup.py did not align with the tag, so it failed to publish).

v4.0.1

17 Sep 13:45
45f7dcf
Compare
Choose a tag to compare

What's Changed

  • Fix error for random permutations within 1 layer flows by @danielward27 in #27

Full Changelog: v4.0.0...v4.0.1

v4.0.0

15 Sep 14:49
ce16cf6
Compare
Choose a tag to compare

What's Changed

  • BlockAutoregressiveNetwork and BlockNeuralAutoregressiveFlow arguments changed, using depth to refer to the number of hidden layers.
  • Re-implemented CouplingFlow to take an arbitrary Transformer in #19
  • Add in MaskedAutoregressiveFlow (to be used with an arbitrary Transformer) in #18 and #20
  • Updated documentation in #21
  • Renamed ParameterisedBijection to Transformer in #22
  • Add Transformed and Invert in #23
    • Flow class is now removed in favour of just using Transformed. In general, Transformed(base_dist, Invert(bijection)) will be equivalent to previous code Flow(base_dist, bijection). The Invert is required as in Transformed we take the "transform" direction of the bijection to implement sampling, and the "inverse" direction for use in density evaluations (the inverse of the Flow implementation).
  • Transformers have been renamed with a Transformer suffix in #24
  • Update permute in #26

Full Changelog: v3.0.2...v4.0.0

v3.0.2

20 Jul 13:39
Compare
Choose a tag to compare
Update version

v3.0.1

20 Jul 13:36
Compare
Choose a tag to compare
Remove uneeded import

v3.0.0

20 Jul 13:20
481db9b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.0.0...v3.0.0