Skip to content

Releases: sbi-dev/sbi

v0.17.2

13 Nov 16:47
Compare
Choose a tag to compare

Minor changes

  • bug fix for transforms in KDE (#552)

v0.17.1

10 Nov 09:55
Compare
Choose a tag to compare

Minor changes

  • improve kwarg handling for rejection abc and smcabc
  • typo and link fixes (#549, thanks to @pitmonticone)
  • tutorial notebook on crafting summary statistics with sbi (#511, thanks to @ybernaerts)
  • small fixes and improved documenentation for device handling (#544, thanks to @milagorecki)

v0.17.0

04 Aug 08:09
Compare
Choose a tag to compare

Major changes

  • New API for specifying sampling methods (#487). Old syntax:
posterior = inference.build_posterior(sample_with_mcmc=True)

New syntax:

posterior = inference.build_posterior(sample_with="mcmc")  # or "rejection"
  • Rejection sampling for likelihood(-ratio)-based posteriors (#487)
  • MCMC in unconstrained and z-scored space (#510)
  • Prior is now allowed to lie on GPU. The prior has to be on the same device as the one
    passed for training (#519).
  • Rejection-ABC and SMC-ABC now return the accepted particles / parameters by default,
    or a KDE fit on those particles (kde=True) (#525).
  • Fast analytical sampling, evaluation and conditioning for DirectPosterior trained
    with MDNs (thanks @jnsbck #458).

Minor changes

  • scatter allowed for diagonal entries in pairplot (#510)
  • Changes to default hyperparameters for SNPE_A (thanks @famura, #496, #497)
  • bugfix for within_prior checks (#506)

v0.16.0

19 May 06:22
Compare
Choose a tag to compare

Major changes

Minor changes

  • Fixed unused argument num_bins when using nsf as density estimator (#465)
  • Fixes to adapt to the new support handling in torch v1.8.0 (#469)
  • More scalars for monitoring training progress (thanks @psteinb #471)
  • Fixed bug in minimal.py (thanks @psteinb, #485)
  • Depend on pyknos v0.14.2

v0.15.1

18 Mar 09:08
Compare
Choose a tag to compare
  • add option to pass torch.data.DataLoader kwargs to all inference methods (thanks @narendramukherjee, #445)
  • fix bug due to release of torch v1.8.0 (#451)
  • expose leakage_correction parameters for log_prob correction in unnormalized
    posteriors (thanks @famura, #454)

v0.15.0

24 Feb 10:02
Compare
Choose a tag to compare

Major changes

  • Active subspaces for sensitivity analysis (#394, tutorial)
  • Method to compute the maximum-a-posteriori estimate from the posterior (#412)

API changes

  • pairplot(), conditional_pairplot(), and conditional_corrcoeff() should now be imported from sbi.analysis instead of sbi.utils (#394).
  • Changed fig_size to figsize in pairplot (#394).
  • moved user_input_checks to sbi.utils (#430).

Minor changes

  • Depend on new joblib=1.0.0 and fix progress bar updates for multiprocessing (#421).
  • Fix for embedding nets with SNRE (thanks @adittmann, #425).
  • Is it now optional to pass a prior distribution when using SNPE (#426).
  • Support loading of posteriors saved after sbi v0.15.0 (#427, thanks @psteinb).
  • Neural network training can be resumed (#431).
  • Allow using NSF to estimate 1D distributions (#438).
  • Fix type checks in input checks (thanks @psteinb, #439).
  • Bugfix for GPU training with SNRE_A (thanks @glouppe, #442).
  • Fixup for conditional correlation matrix (thanks @JBeckUniTb, #404)
  • z-score data using only the training data (#411)

v0.14.2

18 Dec 16:57
Compare
Choose a tag to compare
  • Small fix for SMC-ABC with semi-automatic summary statistics (#402)

v0.14.1

09 Dec 12:19
Compare
Choose a tag to compare
  • Support for training and sampling on GPU including fixes from nflows (#331)
  • Bug fix for SNPE with neural spline flow and MCMC (#398)
  • Small fix for SMCABC particles covariance
  • Small fix for rejection-classifier (#396)

v0.14.0

04 Dec 13:57
Compare
Choose a tag to compare
  • New flexible interface API (#378). This is going to be a breaking change for users of
    the flexible interface and you will have to change your code. Old syntax:
from sbi.inference import SNPE, prepare_for_sbi

simulator, prior = prepare_for_sbi(simulator, prior)
inference = SNPE(simulator, prior)

# Simulate, train, and build posterior.
posterior = inference(num_simulation=1000)

New syntax:

from sbi.inference import SNPE, prepare_for_sbi, simulate_for_sbi

simulator, prior = prepare_for_sbi(simulator, prior)
inference = SNPE(prior)

theta, x = simulate_for_sbi(simulator, proposal=prior, num_simulations=1000)
density_estimator = inference.append_simulations(theta, x).train()
posterior = inference.build_posterior(density_estimator)  # MCMC kwargs go here.

More information can be found here here.

  • Fixed typo in docs for infer (thanks @glouppe, #370)
  • New RestrictionEstimator to learn regions of bad simulation outputs (#390)
  • Improvements for and new ABC methods (#395)
    • Linear regression adjustment as in Beaumont et al. 2002 for both MCABC and SMCABC
    • Semi-automatic summary statistics as in Fearnhead & Prangle 2012 for both MCABC and SMCABC
    • Small fixes to perturbation kernel covariance estimation in SMCABC.

v0.13.2

08 Oct 14:44
Compare
Choose a tag to compare
  • Fix bug in SNRE (#363)
  • Fix warnings for multi-D x (#361)
  • Small improvements to MCMC, verbosity and continuing of chains (#347, #348)