✨ Highlights
🚀 New Inference Methods
- MNPE class mixed parameter (similar to MNLE) by @dgedon in #1362
- Implementation of SNPE-B (#199) by @etouron1 in #1471
🧠 Neural Network Architectures & Embedding Networks
- Add transformer embedding net by @NicolasRR in #1494
- Add embedding net that uses 1D causal convolutions (#1459) by @Aranka-S in #1499
- Add LRU-backed embedding networks by @famura in #1512
- Add ResNet as embedding model by @StefanWahl in #1472
- Spectral convolution embedding net by @L-in-da in #1503
⭐ Major Features & Capabilities
- Unify flow matching and score-based models by @StarostinV in #1497
- Model misspecification detection based on MMD by @coschroeder in #1502
- Marginal estimator log-prob based test for misspecification by @swag2198 in #1522
- Adding interface for unconditional flow training by @plcrodrigues in #1470
- Support using trained estimators in Pyro models by @sethaxen in #1491
- Add util to generate mcmc samples from user defined potential (#1405) by @hayden-johnson in #1483
- Logit transform by @anastasiakrouglova in #1485
- Log-prob for iid data for score estimators by @Kartik-Sama in #1508
📚 Documentation & Tutorials
- Tutorial on new features for score-based methods #1392 by @touronc in #1489
- Docs: Introduce Readthedocs website by @michaeldeistler in #1463
🐛 Bug Fixes
- z_score correct order in Zuko by @anastasiakrouglova in #1492
- Minor fix when moving thetas from GPU to CPU by @famura in #1515
- Minor fix while using unconditional density estimator and LRU embedding by @ARna06 in #1556
- fix: replace 'in' operator with '==' for proper classifier comparison by @abelaba in #1550
- flowmatching condition shape fix by @gmoss13 in #1584
- patch for torch bug in tarp, run torch.histogram with cpu-only tensor by @psteinb in #1596
- fix failing tarp test by @janfb in #1628
- fix: cap max_sampling_batch_size to prevent excessive memory by @janfb in #1624
- 1561 computation of denoising posterior precision matrix in jac method score fn iid by @manuelgloeckler in #1636
- fix xfail test, fix deprecation warnings by @janfb in #1642
- fix: iid-score device handling by @janfb in #1650
- fix: fmpe singularity on sde sampling by @manuelgloeckler in #1661
🛠️ Maintenance & Improvements
🔧 Code Quality & Refactoring
- Refactoring flow and score matching classes and nets by @manuelgloeckler in #1544
- Rename inference trainer classes by @abelaba in #1605
- Rename VectorFieldInference to VectorFieldTrainer by @abelaba in #1614
- Refactor build_posterior to Eliminate Duplication Across Trainers by @abelaba in #1610
- Refactor build posterior method arguments to use Literals by @abelaba in #1606
- Refactor build_posterior Posterior Configuration Using Dataclasses by @abelaba in #1619
- Use TypeAlias and consistent naming for sbi types by @janfb in #1637
- Add protocol for estimator builder by @abelaba in #1633
- Improve abc implementation by @janfb in #1615
- Refactor RatioEstimator to subclass ConditionalEstimator @abelaba in #1652
🏷️ Type Hints & API Improvements
- fix: add enum for flow options to fix type hints. by @janfb in #1562
- fix LC2ST kwarg typing by @janfb in #1565
- fix: Update RatioEstimator classifier argument to use a Protocol by @abelaba in #1582
- Update append_simulations return type to Self by @abelaba in #1622
- Deprecation Warnings for build_posterior stringly typed parameters by @abelaba in #1627
🧪 Testing & CI/CD
- Testmon by @manuelgloeckler in #1452
- disable testmon for now by @manuelgloeckler in #1467
- chore: Use pytest-split plugin in ci workflow by @schroedk in #1465
- tests: refactor "not slow" tests to be not so slow by @janfb in #1495
- Test for known pytorch distribution transform issue by @dgedon in #1504
- xfail scan test on python 3.13 by @manuelgloeckler in #1533
- Gpu test for VectorFieldPosterior by @jorobledo in #1542
- set vector field iid-tests xfail by @janfb in #1554
- Changed the xfail condition for LRU tests with mode='scan' by @famura in #1552
- Fix/lru test by @Matthijspals in #1568
- refactor sbc funcs and tests by @janfb in #1578
- chore: remove testmon, add codecov test analytics by @janfb in #1592
- chore: reorder setup steps for Python and uv in CI/CD workflows by @janfb in #1601
- Fix/lc2st numpy type fixes by @janfb in #1613
- Fix failing CI on main. by @janfb in #1618
- Fix slow vector field tests by @janfb in #1657
- Add tests for sensitivity analysis by @janfb in #1662
📖 Documentation & Website
- Fix tests for new docs by @michaeldeistler in #1475
- Prevent notebook execution upon doc build by @michaeldeistler in #1477
- Fix broken links on website by @michaeldeistler in #1480
- fix: Update documentation folder path by @abelaba in #1510
- fix path to contribute.md by @psteinb in #1507
- Add utils to docs by @sethaxen in #1520
- Update new Readthedocs website by @michaeldeistler in #1519
- fix broken links on new website by @michaeldeistler in #1538
- Fixups for new website landing page by @michaeldeistler in #1539
- Fix: add tutorial page to mkdocs website by @michaeldeistler in #1540
- Fix broken links in some tutorials by @michaeldeistler in #1541
- Add examples to documentation by @jorobledo in #1548
- docs: Add importance_sampling_parameters to build_posterior docstring. by @abelaba in #1558
- Add missing arguments to LikelihoodEstimator and RatioEstimator docstrings. by @abelaba in #1571
- Fixups for new RTD website by @michaeldeistler in #1573
- Tutorial with a more representative training loop by @michaeldeistler in #1574
- Fixups for rendering of HH tutorial notebook by @michaeldeistler in #1575
- fix for colors in Hodgkin-Huxley notebook by @michaeldeistler in #1576
- Add citations to how-to guide by @michaeldeistler in #1579
- Clarify fullscreen view of applications-explorer by @michaeldeistler in #1580
- Fixups for the documentation by @michaeldeistler in #1585
- fixed misrendered bullet list, tested locally by @psteinb in #1594
- Improvements to L-C2ST tutorial by @michaeldeistler in #1588
- docs: Change colortheme in light mode by @michaeldeistler in #1638
- Posterior parameters doc by @abelaba in #1644
- fix contributing links by @janfb in #1647
- docs: add posterior parameters dataclass how to guide by @abelaba in #1654
🏗️ Infrastructure & Dependencies
- Add uv support by @abelaba in #1518
- switch to numfocus code of conduct by @janfb in #1560
- Update readme with new JOSS citation by @janfb in #1564
- update numfocus code of conduct by @janfb in #1602
- Added Apache License reference comments to source files + CI bash script check by @nMaax in #1599
👥 User Experience & Warnings
- Change xfail to skipif as outcome is not consistent by @gmoss13 in #1487
- Add warning when using append_simulations with exclude_invalid_x=True by @abelaba in #1486
- Batch sampling slow without warning by @dgedon in #1490
- Clarify pbar annotation in sample_batched for DirectPosterior by @StefanWahl in #1493
🎮 GPU Support & Device Handling
- Prior to(device) by @jorobledo in #1505
- posterior.to(device) by @jorobledo in #1527
🔧 Miscellaneous Improvements
- ref: update tests, add types and docs to marginal trainer by @janfb in #1516
- integrate sbi application eplorer by @lappalainenj in #1567
- fix: update notebook references by @emmanuel-ferdman in #1563
- Update sbiutils.py to use one-dimensional batch by @vivienr in #1577
- fix: remove empty list default argument by @abelaba in #1608
- fix: throw exception on unsupported activation function by @emmanuel-ferdman in #1609
- fix: resolve logger warnings by @emmanuel-ferdman in #1598
- fix paths by @manuelgloeckler in #1641
🎉 New Contributors
- @abelaba made their first contribution in #1486
- @dgedon made their first contribution in #1490
- @StefanWahl made their first contribution in #1493
- @touronc made their first contribution in #1489
- @jorobledo made their first contribution in #1505
- @hayden-johnson made their first contribution in #1483
- @sethaxen made their first contribution in #1491
- @etouron1 made their first contribution in #1471
- @Aranka-S made their first contribution in #1499
- @swag2198 made their first contribution in #1522
- @StarostinV made their first contribution in #1497
- @L-in-da made their first contribution in #1503
- @NicolasRR made their first contribution in #1494
- @vivienr made their first contribution in #1577
Full Changelog: v0.24.0...v0.25.0