Beyond Beta!
Following multiple improvements and being actively used in multiple projects, the BayesFlow library is ready to move beyond the beta phase!
Features:
- Added option for
permutation='learnable'
when creating anInvertibleNetwork
- Added option for
coupling_design in ["affine", "spline", "interleaved"]
when creating anInvertibleNetwork
- Simplified passing additional settings to the internal networks. For instance, you
can now simply do
inference_network = InvertibleNetwork(num_params=20, coupling_net_settings={'mc_dropout': True})
to get a Bayesian neural network. PMPNetwork
has been added for model comparison according to findings in https://arxiv.org/abs/2301.11873- Publication-ready calibration diagnostic for expected calibration error (ECE) in a model comparison setting has been
added todiagnostics.py
and is accessible asplot_calibration_curves()
- A new module
experimental
has been added currently containingrectifiers.py
. - Default settings for transformer-based architectures.
- Numerical calibration error using
posterior_calibration_error()
General Improvements:
- Improved docstrings and consistent use of keyword arguments vs. configuration dictionaries
- Increased focus on transformer-based architectures as summary networks
- Figures resulting
diagnostics.py
have been improved and prettified - Added a module
sensitivity.py
for testing the sensitivity of neural approximators to model misspecification - Multiple bugfixes, including a major bug affecting the saving and loading of learnable permutations
The project now also features automatic PyPI publishing. :)