Changelog#
v0.26.1#
โ ๏ธ Breaking Changes#
Make PyMC and Pyro optional dependencies (#1835):
pip install sbino longer installspymcorpyro-ppl. Users who need Pyro or PyMC MCMC samplers should install extras:pip install "sbi[pyro]"for Pyro samplers (hmc_pyro,nuts_pyro)pip install "sbi[pymc]"for PyMC samplers (slice_pymc,hmc_pymc,nuts_pymc)pip install "sbi[all]"for bothUsing a Pyro/PyMC method without the dependency installed raises a clear
ImportErrorwith install instructions.
๐ Bug Fixes#
Fix TARP z-scoring bug (#1832): Reference points are now z-scored alongside
thetasandposterior_sampleswhenz_score_theta=True, fixing incorrect distance calculations that masked bias detection.Fix broken
biased_toy_gaussiantest helper: Rewrote to create actual location bias (posterior mean shifted from truth) instead of the previous NaN-producing formula.
๐ Documentation#
Streamlined README installation section, recommend
uvas default.Added optional dependency install instructions to README, installation guide, and relevant tutorials.
๐ง Improvements#
Change default
num_binsin TARP:run_tarpand_run_tarpnow default tonum_bins=None(auto-scales tonum_sims // 10) instead of the hardcoded30, improving KS test power for larger sample sizes.
๐ Security#
Added SLSA build provenance attestations to the release workflow.
Added Dependabot for automated GitHub Actions version updates.
Added
SECURITY.mdwith vulnerability disclosure policy.Fixed release uploads with
--clobberflag.
v0.26.0#
โจ Highlights#
๐ New Inference Methods & Posteriors#
Add AmortizedVIPosterior for amortized variational inference by @janfb in https://github.com/sbi-dev/sbi/pull/1751
Diffusion model guidance including PriorGuide by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1482
Add iid support for NPE via MCMC, VI, IS by @satwiksps in https://github.com/sbi-dev/sbi/pull/1810
๐ง Neural Network Architectures#
Port MDN from pyknos, improve numerical stability by @janfb in https://github.com/sbi-dev/sbi/pull/1724
Add EDM-style noise schedules for VEScoreEstimator by @janfb in https://github.com/sbi-dev/sbi/pull/1754
Add 1D time-series support and automatic input projection to TransformerEmbedding by @satwiksps in https://github.com/sbi-dev/sbi/pull/1703
Optional LayerNorm and GELU activation for FC embedding by @renecotyfanboy in https://github.com/sbi-dev/sbi/pull/1809
Switch build_mlp_classifier to LayerNorm by default by @rsvr76 in https://github.com/sbi-dev/sbi/pull/1806
๐ง Code Quality & Refactoring#
Config dataclasses for all net builders to fix kwargs chaining by @janfb in https://github.com/sbi-dev/sbi/pull/1795
Config classes for vectorfield kwargs by @janfb in https://github.com/sbi-dev/sbi/pull/1777
Refactor and modularize inference training method by @abelaba in https://github.com/sbi-dev/sbi/pull/1651
Training dataclasses by @abelaba in https://github.com/sbi-dev/sbi/pull/1668
Refactor Plotting functions by @abelaba in https://github.com/sbi-dev/sbi/pull/1631
โญ New Features#
Add max_sampling_time support to rejection samplers by @satwiksps in https://github.com/sbi-dev/sbi/pull/1705
Add return_partial_on_timeout option to rejection samplers by @janfb in https://github.com/sbi-dev/sbi/pull/1720
FMPE with higher-dim conditions by @gmoss13 in https://github.com/sbi-dev/sbi/pull/1704
LC2ST MLP GPU support (closes #1160) by @Dev-Sudarshan in https://github.com/sbi-dev/sbi/pull/1715
Pairplot support for mixed samples by @janfb in https://github.com/sbi-dev/sbi/pull/1808
Add protocols for sample proposal and accept/reject by @janfb in https://github.com/sbi-dev/sbi/pull/1722
Add Tracker protocol and training tracking guide by @janfb in https://github.com/sbi-dev/sbi/pull/1741
Use Literal for strict typing of z-scoring options by @satwiksps in https://github.com/sbi-dev/sbi/pull/1744
Support shape broadcasting and condition sample_dim in density estimators by @satwiksps in https://github.com/sbi-dev/sbi/pull/1791
Decouple hidden features and layers for mixed type nets by @janfb in https://github.com/sbi-dev/sbi/pull/1798
Refactoring noise_schedule and time schedule into base class by @janfb in https://github.com/sbi-dev/sbi/pull/1736
๐ Bug Fixes#
fix: disable transform, add warning for empirical prior by @janfb in https://github.com/sbi-dev/sbi/pull/1669
MNPE fix for categorical variables by @dgedon in https://github.com/sbi-dev/sbi/pull/1671
Fix: Make NPSE picklable by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1679
Fix for z-scoring in vectorfield nets by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1681
fix: autoregressive sampling bug in categorical MADE by @janfb in https://github.com/sbi-dev/sbi/pull/1684
Remove gate_activation to allow pickling by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1694
assert finite x_o by @gmoss13 in https://github.com/sbi-dev/sbi/pull/1701
fix: ImproperEmpirical is inefficient by @gmoss13 in https://github.com/sbi-dev/sbi/pull/1700
Fix device mismatch in NPSE marginal mean/std computation by @satwiksps in https://github.com/sbi-dev/sbi/pull/1707
Fix misleading assertion message in NPE train by @satwiksps in https://github.com/sbi-dev/sbi/pull/1706
fix: pin PyMC version below 5.20.1 to avoid TypeError (closes #1397) by @Dev-Sudarshan in https://github.com/sbi-dev/sbi/pull/1697
Fix memory bloat in multi-round inference by @satwiksps in https://github.com/sbi-dev/sbi/pull/1749
Raise informative RuntimeError when training with empty simulations by @satwiksps in https://github.com/sbi-dev/sbi/pull/1750
Re-enable time-dependent z-scoring for Flow Matching by @satwiksps in https://github.com/sbi-dev/sbi/pull/1752
Fix: Improve error message for x_o shape mismatch by @XBastille in https://github.com/sbi-dev/sbi/pull/1759
Fix: forward dropout_probability to CategoricalMADE in mixed density estimator by @coschroeder in https://github.com/sbi-dev/sbi/pull/1789
Fix Gaussian Linear task in mini SBI-BM by @jsvetter in https://github.com/sbi-dev/sbi/pull/1782
Fix: Add fallback to move_distribution_to_device for complex distributions by @XBastille in https://github.com/sbi-dev/sbi/pull/1785
fix: adjust leading dimension handling in log prob batched by @janfb in https://github.com/sbi-dev/sbi/pull/1799
fix: Check instance of prior so ValueError is raised after .append_simulations was executed (#1793) by @Jocho-Smith in https://github.com/sbi-dev/sbi/pull/1803
fix_mcmc_iid_for_npe by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1813
fix: quick error fix for broadcasting refactor by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1824
fix: rejection posterior should use theta_transform by @janfb in https://github.com/sbi-dev/sbi/pull/1827
Fix ImproperEmpirical: remove Empirical inheritance, constant log_prob, fix to() by @patelshivani2283-lab in sbi-dev/sbi#1822
๐ ๏ธ Maintenance & Improvements#
๐ Documentation & Website#
Add how-to guide for embedding time-series by @satwiksps in https://github.com/sbi-dev/sbi/pull/1695
Improve docs of MNPE and EnsemblePosterior by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1677
Add SNPE-B to implemented methods by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1691
Fixups for the API of implemented methods by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1692
Fixups by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1693
Update Potentially Misleading Error Message in simulate_for_sbi by @vagechirkov in https://github.com/sbi-dev/sbi/pull/1689
Update README with tutorial paper reference by @jahma in https://github.com/sbi-dev/sbi/pull/1712
Fix Discord server link in README by @janfb in https://github.com/sbi-dev/sbi/pull/1729
How-to guide on Pyro with SBI by @touronc in https://github.com/sbi-dev/sbi/pull/1740
Add how-to-guide for hyperparameter optimization with Optuna by @janfb in https://github.com/sbi-dev/sbi/pull/1742
Remove arviz dependency, move arviz plotting to how-to-guide by @janfb in https://github.com/sbi-dev/sbi/pull/1743
Navigation subheadings for tutorials and API by @dgedon in https://github.com/sbi-dev/sbi/pull/1760
Add code examples to trainer class docstrings by @XBastille in https://github.com/sbi-dev/sbi/pull/1763
Add type hints and standardize docstrings in torchutils by @khaledeslam20 in https://github.com/sbi-dev/sbi/pull/1815
refactor: fix docstrings and signatures of sample* methods by @janfb in https://github.com/sbi-dev/sbi/pull/1719
New abstraction level guide by @dgedon in https://github.com/sbi-dev/sbi/pull/1758
Unify vector field tutorials, fix legend in pairplot by @janfb in https://github.com/sbi-dev/sbi/pull/1830
๐งช Testing & CI/CD#
Refactor z-scoring tests to fix shapes and enable MNLE support by @satwiksps in https://github.com/sbi-dev/sbi/pull/1711
fix: skip GPU tests on MPS devices instead of failing by @XBastille in https://github.com/sbi-dev/sbi/pull/1769
fix: remove xfail; increase mcmc warmup by @janfb in https://github.com/sbi-dev/sbi/pull/1774
Trigger workflow when PR is marked ready for review by @satwiksps in https://github.com/sbi-dev/sbi/pull/1753
Refactor embedding net API tests with shared helper by @Dev-Sudarshan in https://github.com/sbi-dev/sbi/pull/1794
Fix failing test: Make prior more โwithin trainโ by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1800
๐๏ธ Infrastructure & Dependencies#
fix release workflow, add sign workflow by @janfb in https://github.com/sbi-dev/sbi/pull/1663
Fix release workflow by @janfb in https://github.com/sbi-dev/sbi/pull/1664
An Enhancement Proposal Workflow by @janfb in https://github.com/sbi-dev/sbi/pull/1674
build: Move notebook dependency to โnotebookโ extra by @matthewfeickert in https://github.com/sbi-dev/sbi/pull/1714
fix: add dependencies for tutorial tests; fix pymc errors by @janfb in https://github.com/sbi-dev/sbi/pull/1716
chore: update Codecov settings for coverage flags by @janfb in https://github.com/sbi-dev/sbi/pull/1726
Remove pyknos dependency by @janfb in https://github.com/sbi-dev/sbi/pull/1767
Remove PyTorch upper version restriction by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1768
refactor: format pyro guide by @janfb in https://github.com/sbi-dev/sbi/pull/1746
fix ruff formatting in main by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1792
Fix GH workflow vulnerabilities: SHA-pin all actions, fix template injections, restrict permissions, remove legacy dependency pins (fixes CVE-2023-24816) by @janfb in https://github.com/sbi-dev/sbi/pull/1831
๐ New Contributors#
@vagechirkov made their first contribution in https://github.com/sbi-dev/sbi/pull/1689
@satwiksps made their first contribution in https://github.com/sbi-dev/sbi/pull/1695
@jahma made their first contribution in https://github.com/sbi-dev/sbi/pull/1712
@Dev-Sudarshan made their first contribution in https://github.com/sbi-dev/sbi/pull/1697
@touronc made their first contribution in https://github.com/sbi-dev/sbi/pull/1740
@XBastille made their first contribution in https://github.com/sbi-dev/sbi/pull/1759
@coschroeder made their first contribution in https://github.com/sbi-dev/sbi/pull/1789
@jsvetter made their first contribution in https://github.com/sbi-dev/sbi/pull/1782
@renecotyfanboy made their first contribution in https://github.com/sbi-dev/sbi/pull/1809
@rsvr76 made their first contribution in https://github.com/sbi-dev/sbi/pull/1806
@khaledeslam20 made their first contribution in https://github.com/sbi-dev/sbi/pull/1815
@Jocho-Smith made their first contribution in https://github.com/sbi-dev/sbi/pull/1803
Full Changelog: https://github.com/sbi-dev/sbi/compare/v0.25.0โฆv0.26.0
v0.25.0#
โจ Highlights#
๐ New Inference Methods#
MNPE class mixed parameter (similar to MNLE) by @dgedon in https://github.com/sbi-dev/sbi/pull/1362
Implementation of SNPE-B (#199) by @etouron1 in https://github.com/sbi-dev/sbi/pull/1471
๐ง Neural Network Architectures & Embedding Networks#
Add transformer embedding net by @NicolasRR in https://github.com/sbi-dev/sbi/pull/1494
Add embedding net that uses 1D causal convolutions (#1459) by @Aranka-S in https://github.com/sbi-dev/sbi/pull/1499
Add LRU-backed embedding networks by @famura in https://github.com/sbi-dev/sbi/pull/1512
Add ResNet as embedding model by @StefanWahl in https://github.com/sbi-dev/sbi/pull/1472
Spectral convolution embedding net by @L-in-da in https://github.com/sbi-dev/sbi/pull/1503
โญ Major Features & Capabilities#
Unify flow matching and score-based models by @StarostinV in https://github.com/sbi-dev/sbi/pull/1497
Model misspecification detection based on MMD by @coschroeder in https://github.com/sbi-dev/sbi/pull/1502
Marginal estimator log-prob based test for misspecification by @swag2198 in https://github.com/sbi-dev/sbi/pull/1522
Adding interface for unconditional flow training by @plcrodrigues in https://github.com/sbi-dev/sbi/pull/1470
Support using trained estimators in Pyro models by @sethaxen in https://github.com/sbi-dev/sbi/pull/1491
Add util to generate mcmc samples from user defined potential (#1405) by @hayden-johnson in https://github.com/sbi-dev/sbi/pull/1483
Logit transform by @anastasiakrouglova in https://github.com/sbi-dev/sbi/pull/1485
Log-prob for iid data for score estimators by @Kartik-Sama in https://github.com/sbi-dev/sbi/pull/1508
๐ Documentation & Tutorials#
Tutorial on new features for score-based methods #1392 by @touronc in https://github.com/sbi-dev/sbi/pull/1489
Docs: Introduce Readthedocs website by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1463
๐ Bug Fixes#
z_score correct order in Zuko by @anastasiakrouglova in https://github.com/sbi-dev/sbi/pull/1492
Minor fix when moving thetas from GPU to CPU by @famura in https://github.com/sbi-dev/sbi/pull/1515
Minor fix while using unconditional density estimator and LRU embedding by @ARna06 in https://github.com/sbi-dev/sbi/pull/1556
fix: replace โinโ operator with โ==โ for proper classifier comparison by @abelaba in https://github.com/sbi-dev/sbi/pull/1550
flowmatching condition shape fix by @gmoss13 in https://github.com/sbi-dev/sbi/pull/1584
patch for torch bug in tarp, run torch.histogram with cpu-only tensor by @psteinb in https://github.com/sbi-dev/sbi/pull/1596
fix failing tarp test by @janfb in https://github.com/sbi-dev/sbi/pull/1628
fix: cap max_sampling_batch_size to prevent excessive memory by @janfb in https://github.com/sbi-dev/sbi/pull/1624
1561 computation of denoising posterior precision matrix in jac method score fn iid by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1636
fix xfail test, fix deprecation warnings by @janfb in https://github.com/sbi-dev/sbi/pull/1642
fix: iid-score device handling by @janfb in https://github.com/sbi-dev/sbi/pull/1650
fix: fmpe singularity on sde sampling by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1661
๐ ๏ธ Maintenance & Improvements#
๐ง Code Quality & Refactoring#
Refactoring flow and score matching classes and nets by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1544
Rename inference trainer classes by @abelaba in https://github.com/sbi-dev/sbi/pull/1605
Rename VectorFieldInference to VectorFieldTrainer by @abelaba in https://github.com/sbi-dev/sbi/pull/1614
Refactor build_posterior to Eliminate Duplication Across Trainers by @abelaba in https://github.com/sbi-dev/sbi/pull/1610
Refactor build posterior method arguments to use Literals by @abelaba in https://github.com/sbi-dev/sbi/pull/1606
Refactor build_posterior Posterior Configuration Using Dataclasses by @abelaba in https://github.com/sbi-dev/sbi/pull/1619
Use TypeAlias and consistent naming for sbi types by @janfb in https://github.com/sbi-dev/sbi/pull/1637
Add protocol for estimator builder by @abelaba in https://github.com/sbi-dev/sbi/pull/1633
Improve abc implementation by @janfb in https://github.com/sbi-dev/sbi/pull/1615
Refactor RatioEstimator to subclass ConditionalEstimator @abelaba in https://github.com/sbi-dev/sbi/pull/1652
๐ท๏ธ Type Hints & API Improvements#
fix: add enum for flow options to fix type hints. by @janfb in https://github.com/sbi-dev/sbi/pull/1562
fix LC2ST kwarg typing by @janfb in https://github.com/sbi-dev/sbi/pull/1565
fix: Update RatioEstimator classifier argument to use a Protocol by @abelaba in https://github.com/sbi-dev/sbi/pull/1582
Update append_simulations return type to Self by @abelaba in https://github.com/sbi-dev/sbi/pull/1622
Deprecation Warnings for build_posterior stringly typed parameters by @abelaba in https://github.com/sbi-dev/sbi/pull/1627
๐งช Testing & CI/CD#
Testmon by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1452
disable testmon for now by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1467
chore: Use pytest-split plugin in ci workflow by @schroedk in https://github.com/sbi-dev/sbi/pull/1465
tests: refactor โnot slowโ tests to be not so slow by @janfb in https://github.com/sbi-dev/sbi/pull/1495
Test for known pytorch distribution transform issue by @dgedon in https://github.com/sbi-dev/sbi/pull/1504
xfail scan test on python 3.13 by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1533
Gpu test for VectorFieldPosterior by @jorobledo in https://github.com/sbi-dev/sbi/pull/1542
set vector field iid-tests xfail by @janfb in https://github.com/sbi-dev/sbi/pull/1554
Changed the xfail condition for LRU tests with mode=โscanโ by @famura in https://github.com/sbi-dev/sbi/pull/1552
Fix/lru test by @Matthijspals in https://github.com/sbi-dev/sbi/pull/1568
refactor sbc funcs and tests by @janfb in https://github.com/sbi-dev/sbi/pull/1578
chore: remove testmon, add codecov test analytics by @janfb in https://github.com/sbi-dev/sbi/pull/1592
chore: reorder setup steps for Python and uv in CI/CD workflows by @janfb in https://github.com/sbi-dev/sbi/pull/1601
Fix/lc2st numpy type fixes by @janfb in https://github.com/sbi-dev/sbi/pull/1613
Fix failing CI on main. by @janfb in https://github.com/sbi-dev/sbi/pull/1618
Fix slow vector field tests by @janfb in https://github.com/sbi-dev/sbi/pull/1657
Add tests for sensitivity analysis by @janfb in https://github.com/sbi-dev/sbi/pull/1662
๐ Documentation & Website#
Fix tests for new docs by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1475
Prevent notebook execution upon doc build by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1477
Fix broken links on website by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1480
fix: Update documentation folder path by @abelaba in https://github.com/sbi-dev/sbi/pull/1510
fix path to contribute.md by @psteinb in https://github.com/sbi-dev/sbi/pull/1507
Add utils to docs by @sethaxen in https://github.com/sbi-dev/sbi/pull/1520
Update new Readthedocs website by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1519
fix broken links on new website by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1538
Fixups for new website landing page by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1539
Fix: add tutorial page to mkdocs website by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1540
Fix broken links in some tutorials by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1541
Add examples to documentation by @jorobledo in https://github.com/sbi-dev/sbi/pull/1548
docs: Add importance_sampling_parameters to build_posterior docstring. by @abelaba in https://github.com/sbi-dev/sbi/pull/1558
Add missing arguments to LikelihoodEstimator and RatioEstimator docstrings. by @abelaba in https://github.com/sbi-dev/sbi/pull/1571
Fixups for new RTD website by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1573
Tutorial with a more representative training loop by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1574
Fixups for rendering of HH tutorial notebook by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1575
fix for colors in Hodgkin-Huxley notebook by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1576
Add citations to how-to guide by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1579
Clarify fullscreen view of applications-explorer by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1580
Fixups for the documentation by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1585
fixed misrendered bullet list, tested locally by @psteinb in https://github.com/sbi-dev/sbi/pull/1594
Improvements to L-C2ST tutorial by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1588
docs: Change colortheme in light mode by @michaeldeistler in https://github.com/sbi-dev/sbi/pull/1638
Posterior parameters doc by @abelaba in https://github.com/sbi-dev/sbi/pull/1644
fix contributing links by @janfb in https://github.com/sbi-dev/sbi/pull/1647
docs: add posterior parameters dataclass how to guide by @abelaba in https://github.com/sbi-dev/sbi/pull/1654
๐๏ธ Infrastructure & Dependencies#
Add uv support by @abelaba in https://github.com/sbi-dev/sbi/pull/1518
switch to numfocus code of conduct by @janfb in https://github.com/sbi-dev/sbi/pull/1560
Update readme with new JOSS citation by @janfb in https://github.com/sbi-dev/sbi/pull/1564
update numfocus code of conduct by @janfb in https://github.com/sbi-dev/sbi/pull/1602
Added Apache License reference comments to source files + CI bash script check by @nMaax in https://github.com/sbi-dev/sbi/pull/1599
๐ฅ User Experience & Warnings#
Change xfail to skipif as outcome is not consistent by @gmoss13 in https://github.com/sbi-dev/sbi/pull/1487
Add warning when using append_simulations with exclude_invalid_x=True by @abelaba in https://github.com/sbi-dev/sbi/pull/1486
Batch sampling slow without warning by @dgedon in https://github.com/sbi-dev/sbi/pull/1490
Clarify pbar annotation in sample_batched for DirectPosterior by @StefanWahl in https://github.com/sbi-dev/sbi/pull/1493
๐ฎ GPU Support & Device Handling#
Prior to(device) by @jorobledo in https://github.com/sbi-dev/sbi/pull/1505
posterior.to(device) by @jorobledo in https://github.com/sbi-dev/sbi/pull/1527
๐ง Miscellaneous Improvements#
ref: update tests, add types and docs to marginal trainer by @janfb in https://github.com/sbi-dev/sbi/pull/1516
integrate sbi application eplorer by @lappalainenj in https://github.com/sbi-dev/sbi/pull/1567
fix: update notebook references by @emmanuel-ferdman in https://github.com/sbi-dev/sbi/pull/1563
Update sbiutils.py to use one-dimensional batch by @vivienr in https://github.com/sbi-dev/sbi/pull/1577
fix: remove empty list default argument by @abelaba in https://github.com/sbi-dev/sbi/pull/1608
fix: throw exception on unsupported activation function by @emmanuel-ferdman in https://github.com/sbi-dev/sbi/pull/1609
fix: resolve logger warnings by @emmanuel-ferdman in https://github.com/sbi-dev/sbi/pull/1598
fix paths by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1641
๐ New Contributors#
@abelaba made their first contribution in https://github.com/sbi-dev/sbi/pull/1486
@dgedon made their first contribution in https://github.com/sbi-dev/sbi/pull/1490
@StefanWahl made their first contribution in https://github.com/sbi-dev/sbi/pull/1493
@touronc made their first contribution in https://github.com/sbi-dev/sbi/pull/1489
@jorobledo made their first contribution in https://github.com/sbi-dev/sbi/pull/1505
@hayden-johnson made their first contribution in https://github.com/sbi-dev/sbi/pull/1483
@sethaxen made their first contribution in https://github.com/sbi-dev/sbi/pull/1491
@etouron1 made their first contribution in https://github.com/sbi-dev/sbi/pull/1471
@Aranka-S made their first contribution in https://github.com/sbi-dev/sbi/pull/1499
@swag2198 made their first contribution in https://github.com/sbi-dev/sbi/pull/1522
@StarostinV made their first contribution in https://github.com/sbi-dev/sbi/pull/1497
@L-in-da made their first contribution in https://github.com/sbi-dev/sbi/pull/1503
@NicolasRR made their first contribution in https://github.com/sbi-dev/sbi/pull/1494
@vivienr made their first contribution in https://github.com/sbi-dev/sbi/pull/1577
Full Changelog: https://github.com/sbi-dev/sbi/compare/v0.24.0โฆv0.25.0
v0.24.0#
โจ Highlights#
feat: add
CategoricalMADEby @jnsbck in https://github.com/sbi-dev/sbi/pull/1269 (Major New Feature)tests:
mini-sbibmby @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1335 (Major New Feature)feat: Score-based iid sampling by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1381 (Major New Feature)
Drop python3.9 support, fix ci by @janfb in https://github.com/sbi-dev/sbi/pull/1412 (Python Version Support Change)
additional features for NPSE by @gmoss13 in https://github.com/sbi-dev/sbi/pull/1370 (Enhancement)
๐ Bug Fixes#
#1350 leakage correction breaks consistency of log prob vs log prob batched by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1355
fix #1343 device handling in mog_log_prob by @janfb in https://github.com/sbi-dev/sbi/pull/1356
Fix failing tutorials, change MNLE default for log_transform to False by @janfb in https://github.com/sbi-dev/sbi/pull/1367
Fix conditional posterior shape and device bugs. by @janfb in https://github.com/sbi-dev/sbi/pull/1373
fix: type fix in VI subclasses. xfail pymc tests. by @janfb in https://github.com/sbi-dev/sbi/pull/1390
Temporary Wrappers to fix MADE by @gmoss13 in https://github.com/sbi-dev/sbi/pull/1398
Fix mnle tests, MCMC init pbar, sir batch size. by @janfb in https://github.com/sbi-dev/sbi/pull/1410
fix mnle tests by @janfb in https://github.com/sbi-dev/sbi/pull/1415
fix: protocol and refactor for custom potential by @janfb in https://github.com/sbi-dev/sbi/pull/1409
fix docs workflow by @janfb in https://github.com/sbi-dev/sbi/pull/1419
fix: gpu-handling for CategoricalMADE by @janfb in https://github.com/sbi-dev/sbi/pull/1448
๐ ๏ธ Maintenance & Improvements#
increase tutorial test timeout by @janfb in https://github.com/sbi-dev/sbi/pull/1360
add nan check to _loss method. by @janfb in https://github.com/sbi-dev/sbi/pull/1361
Update and pin pre commit and ruff to recent version. by @janfb in https://github.com/sbi-dev/sbi/pull/1358
add nan handling in diagnostics by @janfb in https://github.com/sbi-dev/sbi/pull/1359
Improve tests to detect circular imports and resolve all of them by @manuelgloeckler in https://github.com/sbi-dev/sbi/pull/1357
docs: add details about zuko density estimators by @janfb in https://github.com/sbi-dev/sbi/pull/1387
fix: duplication of โlarge numberโ in warning by @turnmanh in https://github.com/sbi-dev/sbi/pull/1391
improve PR and issue templates by @janfb in https://github.com/sbi-dev/sbi/pull/1399
perf: speed up CI with uv by @janfb in https://github.com/sbi-dev/sbi/pull/1400
tests: add pytest testmon plugin to speed up CI by @janfb in https://github.com/sbi-dev/sbi/pull/1402
small fixes to score methods by @janfb in https://github.com/sbi-dev/sbi/pull/1404
docs: Corrected python version in installation document (Revised) by @VijaySamant4368 in https://github.com/sbi-dev/sbi/pull/1423
docs: Markdown formatting compliant to Markdown Linter (solves #1434) by @nMaax in https://github.com/sbi-dev/sbi/pull/1443
๐ New Contributors#
@VijaySamant4368 made their first contribution in https://github.com/sbi-dev/sbi/pull/1423
@nMaax made their first contribution in https://github.com/sbi-dev/sbi/pull/1443
Full Changelog: https://github.com/sbi-dev/sbi/compare/v0.23.3โฆv0.24.0
v0.23.3#
Highlights ๐คฉ#
docs: Add conda-forge install instructions by @matthewfeickert in sbi-dev/sbi#1340
feat:
NLEwith multiple iid conditions by @janfb in sbi-dev/sbi#1331
Whatโs Changed ๐ง#
fix: Correted typo in y-axis label by @turnmanh in sbi-dev/sbi#1296
docs: update embedding networks notebook by @emmanuel-ferdman in sbi-dev/sbi#1297
fix pickle issues in MCMC posterior + test by @manuelgloeckler in sbi-dev/sbi#1291
Minor fix for EnsemblePosterior weights.setter by @CompiledAtBirth in sbi-dev/sbi#1299
Remove deprecated neural_net access from
utilsby @tvwenger in sbi-dev/sbi#1302[test] add tests for ensemble posterior weights by @samadpls in sbi-dev/sbi#1307
Clarify last round behavior of SNPE-A by @michaeldeistler in sbi-dev/sbi#1323
expose batched sampling option; error handling by @janfb in sbi-dev/sbi#1321
Fix #1316: remove sample_dim docstring for condition. by @janfb in sbi-dev/sbi#1338
docs: fix tutorial typos by @janfb in sbi-dev/sbi#1341
docs: run and seed SBC tutorial by @manuel-morales-a in sbi-dev/sbi#1336
New Contributors ๐#
@emmanuel-ferdman made their first contribution in sbi-dev/sbi#1297
@CompiledAtBirth made their first contribution in sbi-dev/sbi#1299
@tvwenger made their first contribution in sbi-dev/sbi#1302
@matthewfeickert made their first contribution in sbi-dev/sbi#1340
@manuel-morales-a made their first contribution in sbi-dev/sbi#1336
Full Changelog: https://github.com/sbi-dev/sbi/compare/v0.23.2โฆv0.23.3
v0.23.2#
Bug Fixes#
fixup for failing hmc test by @michaeldeistler (#1247)
fix: make RestrictedPrior a distribution to enable log_prob @janfb (#1257)
fix: npe iid handling by @janfb (#1262)
fix: tutorials test error handling, fix bugs in tutorials by @janfb (#1264)
fix #1260: include points in plotting limits by @janfb (#1265)
fix: conditioned potential error handling by @janfb, @michaeldeistler (#1275, #1289)
fix: Allow 1D pytorch distributions by @michaeldeistler (#1286)
Documentation#
Rename SNPE to NPE in the README by @michaeldeistler (#1248)
update pickling FAQ by @michaeldeistler (#1255)
Adding example for custom DataLoader to tutorial 18 by @psteinb (#1256)
docs: add readme intro to docs landing page by @janfb (#1272)
Change sampling method for LC2ST to
sample_batched()by @JuliaLinhart (#1279)
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#
fix: include
scorefolder by adding__init__.py(#1245 #1246)
v0.23.0#
Announcements#
Re-licensing: license change from AGPLv3 to Apache-2.0 (see #997 for details)
sbiis now affiliated withNumFOCUS๐New contributors ๐: @anastasiakrouglova, @theogruner, @felixp8, @Matthijspals, @jsvetter, @pfuhr, @turnmanh, @fariedabuzaid, @augustes, @zinastef, @Baschdl, @danielmk, @lisahaxel, @janko-petkovic, @samadpls, @ThomasGesseyJonesPX, @schroedk
Major Changes#
internal renaming of all inference classes from, e.g.,
SNPEtoNPE(i.e., we removed theSprefix). 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
sbidefault parameters:training_batch_size=200,num_chains=20(#1221) (@janfb)change imports of
posterior_nn,likelihood_nn, andclassifier_nn. They should now be imported fromsbi.neural_nets, not fromsbi.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#
full flexibility over the training loop (#983) (@michaeldeistler)
unified density estimator classes (#952, #965, #979, #1151) (@michaeldeistler, @gmoss13, @tomMoral, @manualgloeckler)
vectorized sampling and log_prob for
(S)NPEgiven batches of x (#1153) (@manuelgloeckler, @michaeldeistler)batched sampling for vectorized MCMC samplers (#1176, #1210) (@gmoss13, @janfb)
support @zuko as a backend for normalizing flows (#1088, #1116) (@anastasiakrouglova)
local c2st metric (#1109) (@JuliaLinhart)
tarp coverage metric (#1106) (@psteinb)
add interface for @PyMC samplers (#1053) (@famura, @felixp8)
flow matching density estimators (#1049) (@turnmanh, @fariedabuzaid, @janfb)
score matching density estimators (#1015) (@rdgao, @jsvetter, @pfuhr, @manuelgloeckler, @michaeldeistler, @janfb)
ABC methods for trial-based data using statistical distances (#1104) (@theogruner)
support Apple MPS as gpu device (#912) (@janfb)
dev container for using
sbiin codespaces on GitHub (#1070) (@turnmanh)enable importance sampling for likelihood-based estimators (#1183) (@manuelgloeckler)
refactoring and unified shape handling for
RatioEstimator(#1097) (@bkmi)faster sbc and tarp calibration checks via batched sampling (#1196) (@janfb)
batched sampling and embedding net support for
MNLE(#1203) (@janfb)adapt
MNLEto new densitye stimator abstraction (#1089) (@coschroeder)better plotting options for coverage plots (#1039, #1212) (@janfb)
allow for potential_fn to be a Callable (#943) (@michaeldeistler)
Bug Fixes#
bugfix for embedding net tutorial (#1159) (@deismic)
Fixup for process_x in EnsemblePosterior (#1148) (@deismic)
fixed notebook by changing MCMC parameters (#1058) (@zinaStef)
fix: add NeuralPosteriorEnsemble to utils.init (#1002) (@jnsbck)
fix: print_false_positive_rate (#976) (@danielmk)
fix: make VIPosterior pickable (#951) (@manuelgloeckler)
fix: bug in importance sampled posterior (#1081) (@max-dax)
fix: embedding device and warning handling (#1186) (@janfb)
fix: c2st with constant features (#1204) (@janfb)
fix: erroneous warnings about different devices (#1225, @ThomasGesseyJonesPX)
fix: type annotation in class
ConditionedPotential(#1222) (@schroedk)
Maintenance and other changes#
add pre-commit hooks (#955) (@janfb)
add ruff to replace
isort,black,flake(#960, #978, #1113) (@janfb)switch to
pyproject.tomlfor package specification (#941) (@janfb)Split the GitHub workflow in CI and CD (#1063) (@famura)
split linting process from the CI/CD workflow (#1164) (@tomMoral)
Switch to the newest
pyrightand fix all typing errors (#1045, #1108) (@Baschdl)introduce two docs versions:
latestpointing to latest release at https://sbi-dev.github.io/sbi/latest/ anddevpointing to the latest version onmainhttps://sbi-dev.github.io/sbi/dev/
v0.22.0#
API change#
We have moved
sbito an new github organization:https://github.com/sbi-dev/sbiWe have changed the website of the
sbidocs:https://sbi-dev.github.io/sbi/.sbi.analysis.pairplot:upperwas replaced byoffdiagand 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:upperis now calledoffdiagto match other kwargs.alternating colors for
samplesandpointsoption to add a
legendand passkwargsfor 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#
implementation of โContrastive Neural Ratio Estimationโ (thanks to @bkmi, #787)
implementation of โBalanced Neural Ratio Estimationโ (thanks to @ADelau, #779)
bugfixes for SBC, device handling and iid-data (#793, #789, #780)
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#
add tutorial on all available methods (#754)
allow seeding of
simulate_for_sbion multiple workers (#762)expose
enable_transformsin sampler interface (#756)bugfix for building the transformation of transformed distributions (#756)
v0.19.2#
Rely on new version of
pyknoswith 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=Trueas default (#729)
v0.19.1#
bug fix for
ArviZintegration (#727)
v0.19.0#
Major changes and bug fixes#
new option to sample posterior using importance sampling (#692)
new option to use
arvizfor posterior plotting and MCMC diagnostics (#546, #607, thanks to @sethaxen)fixes for using the
VIPosteriorwithMultipleIndependentprior, a51e93bbug 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
pairplotand 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
Datasetto 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
DirectPosteriorfor more flexibility with custom priors (#714)
v0.18.0#
Breaking changes#
Posteriors saved under
sbiv0.17.2or older can not be loaded undersbiv0.18.0or newer.sample_withcan no longer be passed to.sample(). Instead, the user has to rerun.build_posterior(sample_with=...). (#573)the
posteriorno longer has the the method.sample_conditional(). Using this feature now requires using thesampler interface(see tutorial here) (#573)retrain_from_scratch_each_roundis now calledretrain_from_scratch(#598, thanks to @jnsbck)API changes that had been introduced in
sbi v0.14.0andv0.15.0are 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_strategyfor 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
axandfig(#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_strategyfor MCMC (#605)change
mp_contextto 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_pairplotandActiveSubspace(#613)MCMC can be performed in unconstrained space also when using a
MultipleIndependentdistribution 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_strategyis now calledproposalinstead 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
RestrictedPrioras prior forSNPE(#642)optional pre-configured embedding nets (#568, #644, thanks to @JuliaLinhart)
v0.17.2#
Minor changes#
bug fix for transforms in KDE (#552)
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
DirectPosteriortrained with MDNs (thanks @jnsbck #458).
Minor changes#
scatterallowed for diagonal entries in pairplot (#510)Changes to default hyperparameters for
SNPE_A(thanks @famura, #496, #497)bugfix for
within_priorchecks (#506)
v0.16.0#
Major changes#
Implementation of SNPE-A (thanks @famura and @theogruner, #474, #478, #480, #482)
Option to do inference over iid observations with SNLE and SNRE (#484, #488)
Minor changes#
Fixed unused argument
num_binswhen usingnsfas density estimator (#465)Fixes to adapt to the new support handling in
torchv1.8.0(#469)More scalars for monitoring training progress (thanks @psteinb #471)
Fixed bug in
minimal.py(thanks @psteinb, #485)Depend on
pyknosv0.14.2
v0.15.1#
add option to pass
torch.data.DataLoaderkwargs to all inference methods (thanks @narendramukherjee, #445)fix bug due to release of
torchv1.8.0(#451)expose
leakage_correctionparameters forlog_probcorrection in unnormalized posteriors (thanks @famura, #454)
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.analysisinstead ofsbi.utils(#394).Changed
fig_sizetofigsizein pairplot (#394).moved
user_input_checkstosbi.utils(#430).
Minor changes#
Depend on new
joblib=1.0.0and 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).
v0.14.3#
Fixup for conditional correlation matrix (thanks @JBeckUniTb, #404)
z-score data using only the training data (#411)
v0.14.2#
Small fix for SMC-ABC with semi-automatic summary statistics (#402)
v0.14.1#
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 SMC-ABC particles covariance
Small fix for rejection-classifier (#396)
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
RestrictionEstimatorto 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#
Fix bug in SNRE (#363)
Fix warnings for multi-D x (#361)
Small improvements to MCMC, verbosity and continuing of chains (#347, #348)
v0.13.1#
Make logging of vectorized numpy slice sampler slightly less verbose and address NumPy future warning (#347)
Allow continuation of MCMC chains (#348)
v0.13.0#
Conditional distributions and correlations for analysing the posterior (#321)
Moved rarely used arguments from pairplot into kwargs (#321)
Sampling from conditional posterior (#327)
Allow inference with multi-dimensional x when appropriate embedding is passed (#335)
Fixes a bug with clamp_and_warn not overriding num_atoms for SNRE and the warning message itself (#338)
Compatibility with Pyro 1.4.0 (#339)
Speed up posterior rejection sampling by introducing batch size (#340, #343)
Allow vectorized evaluation of numpy potentials (#341)
Adds vectorized version of numpy slice sampler which allows parallel log prob evaluations across all chains (#344)
v0.12.2#
Bug fix for zero simulations in later rounds (#318)
Bug fix for sbi.utils.sbiutils.Standardize; mean and std are now registered in state dict (thanks @plcrodrigues, #325)
Tutorials on embedding_net and presimulated data (thanks @plcrodrigues, #314, #318)
FAQ entry for pickling error
v0.12.1#
Bug fix for broken NSF (#310, thanks @tvwenger).
v0.12.0#
Add FAQ (#293)
Fix bug in embedding_net when output dimension does not equal input dimension (#299)
Expose arguments of functions used to build custom networks (#299)
Implement non-atomic APT (#301)
Depend on pyknos 0.12 and nflows 0.12
Improve documentation (#302, #305, thanks to @agramfort)
Fix bug for 1D uniform priors (#307).
v0.11.2#
Fixed pickling of SNRE by moving StandardizeInputs (#291)
Added check to ensure correct round number when presimulated data is provided
Subclassed Posterior depending on inference algorithm (#282, #285)
Pinned pyro to v1.3.1 as a temporary workaround (see #288)
Detaching weights for MCMC SIR init immediately to save memory (#292)
v0.11.1#
Bug fix for log_prob() in SNRE (#280)
v0.11.0#
Changed the API to do multi-round inference (#273)
Allow to continue inference (#273)
v0.10.2#
Added missing type imports (#275)
Made compatible for Python 3.6 (#275)
v0.10.1#
Added
mcmc_parametersto init methods of inference methods (#270)Fixed detaching of
log_weightswhen usingsirMCMC init (#270)Fixed logging for SMC-ABC
v0.10.0#
Added option to pass external data (#264)
Added setters for MCMC parameters (#267)
Added check for
density_estimatorargument (#263)Fixed
NeuralPosteriorpickling error (#265)Added code coverage reporting (#269)
v0.9.0#
Added ABC methods (#250)
Added multiple chains for MCMC and new init strategy (#247)
Added options for z-scoring for all inference methods (#256)
Simplified swapping out neural networks (#256)
Improved tutorials
Fixed device keyword argument (#253)
Removed need for passing x-shapes (#259)
v0.8.0#
First public version