Skip to content

Choose a tag to compare

@junpenglao junpenglao released this 10 Jul 20:28
ca43b58

What's Changed

  • Add adjoint-differentiated Laplace HMC (blackjax.laplace_hmc) by @junpenglao in #856
  • Code quality cleanup: bugs, naming, typos, and modernization by @junpenglao in #857
  • Add missing docstrings and document magic numbers by @junpenglao in #858
  • Code quality: protocol tests, deferred cleanups, and namespace encapsulation by @junpenglao in #859
  • Refactor lambda-assigned run_steps to named function in mclmc_adaptation by @junpenglao in #860
  • Split util.py into cohesive modules (Phase 7.1) by @junpenglao in #861
  • Refactor mclmc build_kernel to standard pattern (Phase 7.2) by @junpenglao in #862
  • Simplify random_walk.py indirection (Phase 7.3) by @junpenglao in #863
  • Add build_sampling_algorithm helper to reduce boilerplate (7.7) by @junpenglao in #864
  • Refactor adjusted_mclmc_dynamic build_kernel to standard pattern (7.8) by @junpenglao in #865
  • Deduplicate adjusted_mclmc shared code (7.9) by @junpenglao in #867
  • Fix incorrect citation: Sountsov → Seyboldt et al. by @junpenglao in #868
  • Deduplicate rescale() between dynamic_hmc and adjusted_mclmc (7.10) by @junpenglao in #869
  • Replace premature ravel_pytree with jax.tree.map (7.11/7.12) by @junpenglao in #870
  • Modernize jax.lax.cond: remove legacy operand=None (4.5) by @junpenglao in #872
  • docs: fix broken notebooks, replace Aesara with PyTensor, add Design Principles by @junpenglao in #873
  • Add guidelines for new algorithms (docs and skeletons) by @albcab in #485
  • Move Design Principles to DEVELOPER DOCUMENTATION section by @junpenglao in #874
  • Fix flaky TestLaplaceAdjointAnalytical: cap Poisson observation range by @junpenglao in #875
  • Feature/multinomal hmc sampler by @Idg772 in #854
  • Add laplace_multinomial_hmc and dynamic_multinomial_hmc aliases by @junpenglao in #876
  • Rename HMC aliases to short names (mhmc, dhmc, dmhmc, laplace_mhmc) by @junpenglao in #877
  • Add laplace_dhmc and laplace_dmhmc samplers by @junpenglao in #878
  • Update all exports for all public samplers and algorithms by @junpenglao in #879
  • Unify integration_steps_fn to accept *integration_steps_params by @junpenglao in #880
  • Add speed-up guide and horseshoe NUTS benchmark by @junpenglao in #883
  • Fix JAX nightly CI silently swallowing test failures by @junpenglao in #884
  • Fix missing dependencies in JAX nightly CI by @junpenglao in #885
  • fix: refactor flaky SMC tuning test by @junpenglao in #887
  • tests: relax atol in Laplace-HMC funnel test for robustness by @junpenglao in #888
  • tests: improve SMC test stability by @junpenglao in #889
  • Standardize JAX patterns (jax.tree) by @junpenglao in #891
  • Add MCMC diagnostics guide by @junpenglao in #892
  • Restructure and consolidate developer documentation by @junpenglao in #893
  • Fix progress bar DeprecationWarning (JAX 0.10.0 compatibility) by @junpenglao in #895
  • docs: add Funsor PPL integration tutorial (GMM discrete marginalisation) by @junpenglao in #896
  • docs: fix funsor tutorial plot — replace az.plot_dist with matplotlib by @junpenglao in #898
  • docs: improve Funsor tutorial (idiomatic API, NumPyro section, ArviZ fix) by @junpenglao in #899
  • docs: fix label switching in Funsor GMM posterior plots by @junpenglao in #900
  • docs: add algorithm index and standard inference loop (issue #890) by @junpenglao in #901
  • docs: add Laplace-preconditioned HMC how-to guide (issue #890) by @junpenglao in #902
  • build: migrate package management to uv by @junpenglao in #903
  • docs: update CONTRIBUTING.md for uv dev workflow by @junpenglao in #904
  • Minor update post uv update by @junpenglao in #905
  • docs(mclmc): document 3-tuple return of mclmc_find_L_and_step_size by @junpenglao in #906
  • docs(smc): correct adaptive_persistent_sampling step signature in docstring by @junpenglao in #908
  • tests(vi): robustify test_elbo_decreases_over_steps against PRNG noise by @junpenglao in #909
  • fix(smc): clamp natural parameters to >= 1 in pretuning by @junpenglao in #910
  • fix(smc): correct sign in ess_solver to match tempered SMC weight update by @junpenglao in #915
  • fix: make low_rank_window_adaptation vmap-compatible (#916) by @junpenglao in #917
  • window_adaptation: add initial_inverse_mass_matrix kwarg by @junpenglao in #918
  • tests: extend std_normal_logdensity with scale kwarg + drop orphan _fixtures.py by @junpenglao in #920
  • pathfinder_adaptation: add num_chains + n_paths for multi-chain via multipathfinder dispatch by @junpenglao in #919
  • window_adaptation: add imm_shrinkage_to_previous pseudo-count kwarg by @junpenglao in #921
  • fix(pathfinder_adaptation): ravel pytree positions before PSIS mixture-covariance einsum by @junpenglao in #922
  • rename low_rank_window_adaptation → window_adaptation_low_rank by @junpenglao in #923
  • tests(vi): stabilize Schrödinger-Föllmer recover-posterior test under date-rotated seed by @junpenglao in #924
  • Surface L-BFGS diagnostics in laplace kernel Info (#925) by @junpenglao in #926
  • feat(laplace): laplace_lbfgs_grad_evals() utility for benchmark grad-count denominators by @junpenglao in #928
  • fix(eca): replace keys_sampling.T with jnp.swapaxes to fix old-style PRNGKey shape corruption by @junpenglao in #931
  • feat(smc): add batch_size for memory-bounded SMC execution via jax.lax.map by @thomasckng in #929
  • test(smc): trim redundant non-divisor batch test to a map_fn/map_kernel unit test by @junpenglao in #933
  • feat(mclmc): LRD preconditioned ESH integrator — O(dk) Low-Rank+Diagonal MCLMC by @junpenglao in #936
  • feat(adaptation): mclmc_lrd_adaptation — Scheme A pilot-free LRD warmup by @junpenglao in #937
  • feat(adaptation): gated √d warm-start for mclmc_lrd_warmup by @junpenglao in #938
  • fix(adaptation): default avg=2 trajectory length for adjusted_mclmc_dynamic (escape MALA collapse) by @junpenglao in #939
  • fix(adaptation): avg-preserving trajectory-length calibration for adjusted_mclmc_dynamic (fix high-d acceptance collapse) by @junpenglao in #940
  • fix(tests): reduce MC error in Laplace flaky tests via larger N by @junpenglao in #942
  • fix(adaptation): mclmc_lrd adjusted-path step/L mismatch — drop L_init re-pin (option ii) by @junpenglao in #941
  • Add slice sampling kernel by @dirmeier in #943
  • Slice integration by @yallup in #946
  • Nested sampling by @yallup in #947
  • fix(ns/tests): shrink heavy end-to-end test configs to fix CI OOM by @junpenglao in #948
  • Fix low-rank Fisher mass-matrix adaptation: invert score covariance, fix regularization scale by @junpenglao in #949
  • Generalize ghmc to accept dense / low-rank momentum metrics by @junpenglao in #950
  • Slim ghmc backward-compat metric dispatch (behavior-preserving) by @junpenglao in #953
  • Add nutpie-style schedule option to low-rank window adaptation (proportional window sizing + gradient-based init) by @junpenglao in #951
  • Add GIST sampler family: self-tuning step size (autoStep-style) and trajectory length (no-U-turn) by @junpenglao in #952
  • MEADS-LRD: opt-in low-rank momentum metric for meads_adaptation by @junpenglao in #954
  • ChEES-HMC: opt-in ensemble diagonal metric + metric-consistent criterion + slow-direction trajectory-length floor by @junpenglao in #955
  • Reduce MC flakiness in GIST trajectory-length funnel-neck test by @junpenglao in #957
  • Harden low-rank Fisher metric: scale-relative PD guard + f64 promotion by @junpenglao in #956
  • Add opt-in nutpie-style continuous warmup schedule for window_adaptation_low_rank by @junpenglao in #958
  • Make GIST funnel-neck moment tests robust across JAX versions (self-calibrating ESS-gated tolerance) by @junpenglao in #959
  • fix(eca): pass args through shard_map instead of closing over it by @Sumu004 in #961
  • feat(ci): dedicated multi-device test job + eca.py cleanup by @junpenglao in #962
  • fix(deps): bump 5 vulnerable transitive deps (idna/msgpack/starlette/tornado/urllib3) by @junpenglao in #963
  • Replace progress-bar mechanism with a scan-instrumenting context manager by @junpenglao in #964
  • Add howto: show progress during sampling (progress_bar context manager) by @junpenglao in #965
  • docs: verified-frontends line in the progress_bar howto by @junpenglao in #966
  • Auto-provision >=2 devices for multi-device tests via conftest by @junpenglao in #967
  • Skip flaky GIST funnel-neck marginal test (tracking: #970) by @junpenglao in #971
  • Add jax-tap to the progress extra by @junpenglao in #968
  • Re-platform progress_bar emission onto jax-tap (M1) by @junpenglao in #972
  • Fix MCLMC NaN handling: truthful divergence flag, revived step-size shrink, no silent sampling corruption by @junpenglao in #974
  • Expose MCLMC warmup divergence flags as tuning-scan ys (jaxtap-observable) + degenerate-warmup checking docs by @junpenglao in #975

New Contributors

Full Changelog: 1.5...1.6