Releases: sbi-dev/sbi
Releases Β· sbi-dev/sbi
v0.22.0
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 byoffdiag
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 calledoffdiag
to match other kwargs.- alternating colors for
samples
andpoints
- option to add a
legend
and passkwargs
for the legend.
Bug fixes
- fixed memory leak in in
append_simulations
(thanks to @VictorSven, #803) - bug fix for CNRE (thanks to @bkmi, #815)
- bug fix for iid-inference with posterior ensembles (@janfb, #826)
- bug fix for simulation-based calibration with VI posteriors (@janfb, #834, #838)
- bug fix for BoxUniform device handling (@janfb, #854, #856)
- bug fix for MAP estimates with independent priors (@janfb, #867)
- bug fix for tutorial on SBC (@michaeldeistler, #891)
- fix spurious seeding for
simulate_for_sbi
(@jan-matthis, #876) - bump python version of github action tests to
3.9.13
(@michaeldeistler, #888, #900)
v0.21.0
v0.20.0
Major changes and bug fixes
- implementation of "Truncated proposals for scalable and hassle-free sbi" (#754)
- sample-based expected coverage tests (#754)
- permutation invariant embedding to allow iid data in SNPE (thanks @coschroeder, #751)
- convolutional neural network embedding (thanks @coschroeder, #745, #751, #769)
- disallow invalid simulations when using SNLE, SNRE, or atomic SNPE-C (#768)
Enhancements
v0.19.2
v0.19.1
v0.19.0
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
withMultipleIndependent
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:
- 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
Breaking changes
- Posteriors saved under
sbi
v0.17.2
or older can not be loaded undersbi
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 thesampler interface
(see tutorial
here) (#573) retrain_from_scratch_each_round
is now calledretrain_from_scratch
(#598, thanks to @jnsbck)- API changes that had been introduced in
sbi v0.14.0
andv0.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
andfig
(#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
andActiveSubspace
(#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 calledproposal
instead ofprior
(#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 forSNPE
(#642)
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).