Skip to content

Releases: sbi-dev/sbi

v0.23.2

04 Oct 12:27
428fc93
Compare
Choose a tag to compare

Bug Fixes

Documentation

Maintenance

  • Refactor simulate_for_sbi location by @samadpls (#1253)
  • build: devcontainer update by @janfb (#1252)
  • fix: docker notebook python version by @janfb (#1258)
  • refactor: remove outputs except plots from tutorials. by @janfb (#1266)
  • build: automatic nb stripping and pypi upload by @janfb (#1267)
  • refactor: remove deprecated x_shape where not needed by @janfb (#1271)
  • more explicit error message for CNN shapes by @Ankush7890 (#1281)

v0.23.1

29 Aug 06:58
bf2f96f
Compare
Choose a tag to compare
  • fix: include score folder by adding __init__.py (#1245 #1246)

v0.23.0

28 Aug 15:48
601f129
Compare
Choose a tag to compare

Announcements

Major Changes

  • internal renaming of all inference classes from, e.g., SNPE to NPE (i.e., we
    removed the S prefix). The functionality of the classes remains the same. The NPE
    class handles both the amortized and sequential versions of neural posterior
    estimation. An alias for SNPE (and other sequential methods) still exists for
    backwards compatibility (#1238) (@michaeldeistler).
  • change sbi default parameters: training_batch_size=200, num_chains=20 (#1221)
    (@janfb)
  • change imports of posterior_nn, likelihood_nn, and classifier_nn. They should
    now be imported from sbi.neural_nets, not from sbi.utils (#994) (@famura)
  • big refactoring of plotting utilities, new tutorial (#1084) (@Matthijspals)
  • improved tutorials and website documentation (#1012, #1051, #1073) (@augustes,
    @zinaStef, @lisahaxel, @psteinb)
  • improved website structure and contribution guides (#1019) (@tomMoral, @janfb)
  • drop support for python3.8 and torch1.12 (#1233)
  • refactor folder structure and naming of neural_nets (#1237) (@michaeldeistler)

New Features

Bug Fixes

Maintenance and other changes

v0.22.0

04 Dec 11:07
Compare
Choose a tag to compare

API change

  • We have moved sbi to an new github organization: https://github.com/sbi-dev/sbi
  • We have changed the website of the sbi docs: https://sbi-dev.github.io/sbi/.
  • sbi.analysis.pairplot: upper was replaced by offdiag and will be deprecated in a future release.

Features and enhancements

  • size-invariant embedding nets for amortized inference with iid-data (@janfb, #808)
  • option for new using MAF with rational quadratic splines (thanks to @ImahnShekhzadeh, #819)
  • improved docstring for process_prior (thanks to @musoke, #813)
  • extended tutorial for SBI with iid data (@janfb, #857)
  • new tutorial for SBI with experimental conditions and mixed data (@janfb, #829)
  • New options for pairplot:
    • upper is now called offdiag to match other kwargs.
    • alternating colors for samples and points
    • option to add a legend and pass kwargs for the legend.

Bug fixes

v0.21.0

22 Dec 16:15
Compare
Choose a tag to compare

v0.20.0

04 Nov 07:39
Compare
Choose a tag to compare

Major changes and bug fixes

Enhancements

  • add tutorial on all available methods (#754)
  • allow seeding of simulate_for_sbi on multiple workers (#762)
  • expose enable_transforms in sampler interface (#756)
  • bugfix for building the transformation of transformed distributions (#756)

v0.19.2

30 Aug 09:20
Compare
Choose a tag to compare
  • Rely on new version of pyknos with bugfix for APT with MDNs (#734)
  • bugfix: atomic SNPE-C now allows any kind of proposal (#732)
  • bugfix for SNPE with implicit prior on GPU (#730)
  • SNPE-A has force_first_round_loss=True as default (#729)

v0.19.1

24 Aug 06:14
Compare
Choose a tag to compare
  • bug fix for ArviZ integration (#727)

v0.19.0

13 Aug 19:13
Compare
Choose a tag to compare

Major changes and bug fixes

  • new option to sample posterior using importance sampling (#692)
  • new option to use arviz for posterior plotting and MCMC diagnostics (#546, #607, thanks to @sethaxen)
  • fixes for using the VIPosterior with MultipleIndependent prior, a51e93b
  • bug fix for sir (sequential importance reweighting) for MCMC initialization (#692)
  • bug fix for SNPE-A 565082c
  • bug fix for validation loader batch size (#674, thanks to @bkmi)
  • small bug fixes for pairplot and MCMC kwargs

Enhancements

  • improved and new tutorials:
    • Tutorial for simulation-based calibration (SBC) (#629, thanks to @psteinb)
    • Tutorial for sampling the conditional posterior (#667)
  • new option to use first-round loss in all rounds
  • simulated data is now stored as Dataset to reduce memory load and add flexibility
    with large data sets (#685, thanks to @tbmiller-astro)
  • refactoring of summary write for better training logs with tensorboard (#704)
  • new option to find peaks of 1D posterior marginals without gradients (#707, #708, thanks to @Ziaeemehr)
  • new option to not use parameter transforms in DirectPosterior for more flexibility with custom priors (#714)

v0.18.0

04 Mar 12:56
Compare
Choose a tag to compare

Breaking changes

  • Posteriors saved under sbi v0.17.2 or older can not be loaded under sbi
    v0.18.0 or newer.
  • sample_with can no longer be passed to .sample(). Instead, the user has to rerun
    .build_posterior(sample_with=...). (#573)
  • the posterior no longer has the the method .sample_conditional(). Using this
    feature now requires using the sampler interface (see tutorial
    here) (#573)
  • retrain_from_scratch_each_round is now called retrain_from_scratch (#598, thanks to @jnsbck)
  • API changes that had been introduced in sbi v0.14.0 and v0.15.0 are not enforced. Using the interface prior to
    those changes leads to an error (#645)
  • prior passed to SNPE / SNLE / SNRE must be a PyTorch distribution (#655), see FAQ-7 for how to pass use custom prior.

Major changes and bug fixes

  • new sampler interface (#573)
  • posterior quality assurance with simulation-based calibration (SBC) (#501)
  • added Sequential Neural Variational Inference (SNVI) (Glöckler et al. 2022) (#609, thanks to @manuelgloeckler)
  • bugfix for SNPE-C with mixture density networks (#573)
  • bugfix for sampling-importance resampling (SIR) as init_strategy for MCMC (#646)
  • new density estimator for neural likelihood estimation with mixed data types (MNLE, #638)
  • MCMC can now be parallelized across CPUs (#648)
  • improved device check to remove several GPU issues (#610, thanks to @LouisRouillard)

Enhancements

  • pairplot takes ax and fig (#557)
  • bugfix for rejection sampling (#561)
  • remove warninig when using multiple transforms with NSF in single dimension (#537)
  • Sampling-importance-resampling (SIR) is now the default init_strategy for MCMC (#605)
  • change mp_context to allow for multi-chain pyro samplers (#608, thanks to @sethaxen)
  • tutorial on posterior predictive checks (#592, thanks to @LouisRouillard)
  • add FAQ entry for using a custom prior (#595, thanks to @jnsbck)
  • add methods to plot tensorboard data (#593, thanks to @lappalainenj)
  • add option to pass the support for custom priors (#602)
  • plotting method for 1D marginals (#600, thanks to @GuyMoss)
  • fix GPU issues for conditional_pairplot and ActiveSubspace (#613)
  • MCMC can be performed in unconstrained space also when using a MultipleIndependent distribution as prior (#619)
  • added z-scoring option for structured data (#597, thanks to @rdgao)
  • refactor c2st; change its default classifier to random forest (#503, thanks to @psteinb)
  • MCMC init_strategy is now called proposal instead of prior (#602)
  • inference objects can be serialized with pickle (#617)
  • preconfigured fully connected embedding net (#644, thanks to @JuliaLinhart #624)
  • posterior ensembles (#612, thanks to @jnsbck)
  • remove gradients before returning the posterior (#631, thanks to @tomMoral)
  • reduce batchsize of rejection sampling if few samples are left (#631, thanks to @tomMoral)
  • tutorial for how to use SBC (#629, thanks to @psteinb)
  • tutorial for how to use SBI with trial-based data and mixed data types (#638)
  • allow to use a RestrictedPrior as prior for SNPE (#642)