Releases: sbi-dev/sbi
Releases · sbi-dev/sbi
v0.17.2
v0.17.1
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
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
v0.16.0
v0.15.1
v0.15.0
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()
, andconditional_corrcoeff()
should now be imported fromsbi.analysis
instead ofsbi.utils
(#394).- Changed
fig_size
tofigsize
in pairplot (#394). - moved
user_input_checks
tosbi.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
v0.14.1
v0.14.0
- 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.