Releases: mj-will/nessai
v0.14.0.post0
Release of nessai v0.14.0.post0
This is a post-release of nessai v0.14.0 to fix a missing dependency when using python 3.9. This release contains no code changes.
For more details of v0.14.0, see the previous release notes
v0.14.0
Release of nessai v0.14.0
This is a feature release and includes various new features, changes and bug fixes.
The main API should be entirely backwards compatible but some lower level functions have changed.
Note: due to some of the changes, runs performed using previous versions cannot be resumed using this version.
Support for user-defined proposal classes via plugins
The new plugin interface allows users to define custom proposal classes without modifying the core code. For more details, see the documentation.
Experimental MCMC FlowProposal
This release includes an experimental MCMC-based version of FlowProposal. As with all experimental modules, it is under active development and the API may change. This feature has yet to be extensively test, so should be used with caution.
Experimental support for discrete parameters
This is implemented via a new reparameterisation called dequantisation
. This feature has yet to be extensively test, so should be used with caution.
Other minor changes
- Improvements to the logging to reduce visual clutter
- Support for RNG numpy random number generator
- Several keyword arguments for the standard sampler have been deprecated in favour of clearer names
- Support for reparameterisations that are not one-to-one
For more details see the changelog.
v0.13.2
v0.13.1
Release of nessai v0.13.1
This is a bug fix release that addresses an issue that blocked the next conda-forge release.
Full Changelog: v0.13.0...v0.13.1
v0.13.0
Release of nessai v0.13.0
This release reworks how the normalising flow and reparameterisations in nessai are configured and introduces a new feature for the importance nested sampler. It also includes several experimental features in a new experimental
submodule. We have also added explicit support for numpy 2.0 and dropped support for Python 3.8.
Changes to normalising flow
Normalising flows are now configured using two dictionaries flow_config
and training_config
, see the documentation for how to migrate to the new format. The old format is still supported but will be removed in a future release.
Changes to reparameterisations
Reparameterisations are now only configurable via the reparameterisations
keyword argument. rescale_parameters, boundary_inversion, inversion_type, rescale_bounds update_bounds, detect_edges, detect_edges_kwargs
have all been removed. All of these options are still accessible via the reparameterisations
configuration. The default reparameterisation has also now changed to z-score
, which can handle unbounded priors.
New importance nested sampling feature
The importance nested sampler now supports unit hyper-cube mappings that do not result in a uniform prior in the unit hypercube, see the new example for details
Other minor changes
- The insertion indices plots have been improved
- The default seaborn style has been changed to avoid plotting issues on some clusters
- There is now experimental support for using flow from
glasflow
directly - Numpy 2.0 is now supported
- Dropped support for Python 3.8
Full Changelog: v0.12.0...v0.13.0
v0.13.0b1
This is a beta release of nessai v0.13.0.
This release is not intended for production use, and the changes here are not considered final.
v0.13.0 will include several breaking changes, mostly related to the reparameterisation configuration. It will also contain several changes to how flows are configured.
This beta release contains a fix for a bug introduced in the last beta release.
Full Changelog: v0.13.0b0...v0.13.0b1
v0.13.0b0
This is a beta release of nessai v0.13.0.
This release is not intended for production use, and the changes here are not considered final.
v0.13.0 will include several breaking changes, mostly related to the reparameterisation configuration. It will also contain several changes to how flows are configured.
Full Changelog: v0.12.0...v0.13.0b0
v0.12.0
Release of nessai v0.12.0
This release reworks large parts of the importance nested sampler to enable drawing i.i.d samples during sampling and remove the requirement for the to_unit_hypercube
method.
The high-level API remains unchanged but the APIs for the ImportanceNestedSampler
and ImportanceFlowProposal
classes have changed. Existing runs of the importance nested sampler cannot be resumed with this version.
Summary of changes
- Explicitly support Python 3.12 (worked previously but was not tested)
- Rework the importance nested sampler to support drawing i.i.d samples live and no longer require the
to_unit_hypercube
method - Changes to the importance nested sampler defaults
- Standardize how sampling history is stored
- Runs are now always seeded (randomly if a seed is not specified)
- Fix two minor plotting bugs
- Remove deprecated
max_threads
argument.
v0.12.0a1
This is an alpha release of v0.12.0 of nessai.
This release is not intended for production use, and the changes here are not considered final.
See the changelog for a list of changes.
Full Changelog: v0.12.0a0...v0.12.0a1
v0.12.0a0
This is an alpha release of v0.12.0 of nessai.
This release is not intended for production use, and the changes here are not considered final.
The main changes in this pre-release are improvements to the importance nested sampler, most notably:
- final i.i.d samples can now be drawn during sampling rather than post sampling,
- the sampler no longer requires the
to_unit_hypercube
method for sampling.
Full Changelog: v0.11.0...v0.12.0a0