Recent Releases of https://github.com/pyro-ppl/numpyro
https://github.com/pyro-ppl/numpyro - 0.19.0
What's Changed
- Displaying CVAE figure example by @guspan-tanadi in https://github.com/pyro-ppl/numpyro/pull/2011
- Equinox Integration by @kylejcaron in https://github.com/pyro-ppl/numpyro/pull/2005
- fix(distributions.conjugate): support totalcountmax in DirichletMultinomial distribution by @brendancooley in https://github.com/pyro-ppl/numpyro/pull/2016
- [Example ] Bayesian CUPED by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/2018
- [Typo] Add missing plus sign circular GP notebook by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/2020
- Reenable haiku tests by @tare in https://github.com/pyro-ppl/numpyro/pull/2021
- DOC: typo by @gdmcbain in https://github.com/pyro-ppl/numpyro/pull/2023
- Fixed parameter updates for sequence layers in nn modules by @kylejcaron in https://github.com/pyro-ppl/numpyro/pull/2024
- Avoid importing deprecated jax.util module by @jakevdp in https://github.com/pyro-ppl/numpyro/pull/2025
- matrix normal doc: correlation -> covariance by @mochar in https://github.com/pyro-ppl/numpyro/pull/2027
- refactor(infer.elbo): add type hints to elbo module by @brendancooley in https://github.com/pyro-ppl/numpyro/pull/2028
- Display plate name on error by @emmanuel-ferdman in https://github.com/pyro-ppl/numpyro/pull/2033
- fix(tests): fix for failing nested sampling unit tests by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/2034
- feat(gh-299): Type hints in distributions modules by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/2032
- feat: Dagum distribution by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/2014
- Adds support for passing initial value to transform by @tingiskhan in https://github.com/pyro-ppl/numpyro/pull/2038
- Allow scope divider in NNX and Equinox Random Modules by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/2048
- update numpyro version in tbip notebook by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/2049
- Handle renaming of
pjit_ptojit_pby @tare in https://github.com/pyro-ppl/numpyro/pull/2052 - Fix
typing_extensionsimport issue by @tare in https://github.com/pyro-ppl/numpyro/pull/2054 - Fix test to ensure compatibility with Flax 0.11 by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/2057
- Test against Python 3.13 by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/2058
- Update WishartCholesky.infer_shapes typing by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/2059
- Bump to 0.19.0 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/2060
New Contributors
- @guspan-tanadi made their first contribution in https://github.com/pyro-ppl/numpyro/pull/2011
- @gdmcbain made their first contribution in https://github.com/pyro-ppl/numpyro/pull/2023
- @mochar made their first contribution in https://github.com/pyro-ppl/numpyro/pull/2027
- @emmanuel-ferdman made their first contribution in https://github.com/pyro-ppl/numpyro/pull/2033
- @tingiskhan made their first contribution in https://github.com/pyro-ppl/numpyro/pull/2038
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.18.0...0.19.0
- Python
Published by fehiepsi 7 months ago
https://github.com/pyro-ppl/numpyro - 0.18.0
What's Changed
- Remove cached
platesfromAutoGuide. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1976 - Fix typo and tweak wording in
get_dependencies()docs by @dylanhmorris in https://github.com/pyro-ppl/numpyro/pull/1975 - Navigate to our forum for discussions by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1978
- Unify
sample_posterior()signatures by @tare in https://github.com/pyro-ppl/numpyro/pull/1979 - Add guidelines for bug report and feature request by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1980
- Make seed handler stateless by default by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1983
- Update paths to data files by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1996
- Add
sum_sitesoption to sum loss over sites or return as dict. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1995 - Improve rng default in the
contrib/model.pymodule by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1992 - Fix padding calculation by @tare in https://github.com/pyro-ppl/numpyro/pull/1993
- Apply
init_to_medianin unconstrained space. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1994 - Fix tracer leak in hmc by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1985
- Fix trace leakage in SL-DAIS by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1984
- Mark xfail for leaked tracer tests by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1997
- Fix tracer leak in svi with mutable state by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/2001
- Fix Memleak in ASVGD by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/2003
- Flax NNX integration by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1990
- Pass value arg to optax, allowing use of reduceonplateau by @zmbc in https://github.com/pyro-ppl/numpyro/pull/1974
- Add
CirculantNormaldistribution. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1988 - circulant gp notebook: minor improvements by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/2004
- Fix behavior of
logdiffexp(jnp.inf, jnp.inf), add test that would have caught it. by @dylanhmorris in https://github.com/pyro-ppl/numpyro/pull/2007 - Port hierarchical multivariate forecasting model from Pyro to NumPyro by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/2006
- Bump to 0.18.0 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/2009
New Contributors
- @zmbc made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1974
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.17.0...0.18.0
- Python
Published by fehiepsi 11 months ago
https://github.com/pyro-ppl/numpyro - 0.17.0
What's Changed
- Only include
arg_constraintsinpytree_data_fieldsif they are notlazy_propertys. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1929 - Ensure BlockNeuralAutoregressiveTransform maps real->real by @danielward27 in https://github.com/pyro-ppl/numpyro/pull/1897
- Update coverall badge to point to the master branch by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1930
- Add openssf badge by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1931
- Add utility function to evaluate log density for individual sites. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1932
- Update link to jax repo by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1936
- Fix tracer leak in contrib.module by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1935
- Implement ICDF Methods for Truncated Distributions by @TheSkyentist in https://github.com/pyro-ppl/numpyro/pull/1938
- Add type hints to the primitives module by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1940
- Add types types to handlers module by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1941
- Add types optim module by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1942
- Add batch and event shape to
repr. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1946 - SteinVI: Recompute Score Function* For Each Particle Interaction in the Attractive Force by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1947
- Make
Delta.log_probjit-able on metal and raise explicit error forDeltasampling site during initialization. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1950 - Remove unnecessary device_put by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1952
- feat: Levy distribution by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/1943
- SteinVI: New quadratic form kernel with Gauss Newton metric by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1953
- Make
pip installcalls compatible withzshby @dylanhmorris in https://github.com/pyro-ppl/numpyro/pull/1962 - Add
log1mexpandlogdiffexpfunctions by @dylanhmorris in https://github.com/pyro-ppl/numpyro/pull/1960 - Fetch
rng_keyusingprng_keymessage in block handler. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1957 - Add
ComplexTransformand updatebiject_toregistry. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1964 - Fix event dim of some arg constraints by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1967
- Addresses the deprecation messages of some jax.core functionalities by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1966
- Refactor test_gof into a separate file by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1965
- fix(tests): update tolerance levels and
PRNGKeyusage for improved test stability by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/1959 - chore(ci): disable continue-on-error for all test jobs in CI workflow by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/1968
- Do not create plates for observed sites in
AutoGuide. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1972 - Fix promotebatchshape logic to take batch shapes of all parameters by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1973
- Bump to 0.17.0 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1969
New Contributors
- @TheSkyentist made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1938
- @dylanhmorris made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1962
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.16.1...0.17.0
- Python
Published by fehiepsi about 1 year ago
https://github.com/pyro-ppl/numpyro - 0.16.1
What's Changed
- Support Python 3.9 by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1923
- added note that sbvm is only accurate for conc <= 10k by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1924
- Clarify the composability of handlers with jax primities by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1926
- Add coveralls to CI by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1925
- Add Bayesian VAR(2) example script #1658 by @aibit0111 in https://github.com/pyro-ppl/numpyro/pull/1915
- Bump to 0.16.1 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1927
New Contributors
- @aibit0111 made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1915
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.16.0...0.16.1
- Python
Published by fehiepsi about 1 year ago
https://github.com/pyro-ppl/numpyro - 0.16.0
What's Changed
- Fix flaky testchangepoint_x64 by @GaetanLepage in https://github.com/pyro-ppl/numpyro/pull/1863
- Refactor
validate_argsmethod on distributions (fixes #1865). by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1866 - gh-1870: Refactor
log_probmethod in_MixtureBaseclass to handle-jnp.infby @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/1874 - use biased autocorrelation estimate by default (resolves #1785) by @jonny-so in https://github.com/pyro-ppl/numpyro/pull/1877
- remove depreciated line from docs by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1882
- feat: add api compat arg to NS.get_samples by @nstarman in https://github.com/pyro-ppl/numpyro/pull/1880
- Fixing nested sampling by @renecotyfanboy in https://github.com/pyro-ppl/numpyro/pull/1871
- ci: fix pre-commit by @nstarman in https://github.com/pyro-ppl/numpyro/pull/1892
- Bump CI to python 3.10 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1890
- Refactoring SteinVI by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1883
- Fix handling of event dimensions in
ComposeTransform(fixes #1893). by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1894 - Correct event dimensions for
ReshapeTransform. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1895 - Updated SteinVI docs by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1898
- Fixed norm const for SBVM by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1899
- CHANGED Stein BNN example to use prediction with noise (i.e. y_bnn -> y) by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1900
- [BUG] Latent exclude deterministic by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1901
- Allow callable for vectorization over particles on SVI by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1902
- Add Gaussian state space model distribution. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1904
- Proof of Concept: Types and MyPy by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1906
- Allow to collect nested dict keys in mcmc by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1905
- Add types for contrib.stochastic_support and improve the HSGP module by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1907
- [Types] Diagnostics and Utils by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1912
- Add method to retrieve distribution arguments. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1913
- Merge postprocessfn into the foricollect loop by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1910
- Hm/all deterministic by @hessammehr in https://github.com/pyro-ppl/numpyro/pull/1914
- Bump to 0.16.0 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1917
New Contributors
- @GaetanLepage made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1863
- @jonny-so made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1877
- @nstarman made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1880
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.15.3...0.16.0
- Python
Published by fehiepsi about 1 year ago
https://github.com/pyro-ppl/numpyro - 0.15.3
What's Changed
- Computing number of gradient evaluations example by @andyElking in https://github.com/pyro-ppl/numpyro/pull/1839
- Enable pmap progress bar with cpu backend / remove deprecated host_callback by @andrewdipper in https://github.com/pyro-ppl/numpyro/pull/1841
- NumPyro and Other Samplers Tutorial by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1842
- avoids setting jax tracer as lazy property attribute by @sbidari in https://github.com/pyro-ppl/numpyro/pull/1843
- enable progress bar for multi-gpu by @andrewdipper in https://github.com/pyro-ppl/numpyro/pull/1849
- Resolve numerical instability in entropy of
GeometricLogits. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1852 - Generic
cdfandicdfimplementation for scalarTransformedDistributions. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1853 - Raise error when using CircularReparam at observed site by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1856
- Update docs to make Predictive behavior more clear by @tomwallis in https://github.com/pyro-ppl/numpyro/pull/1850
- Fix binominal distribution by @InfinityMod in https://github.com/pyro-ppl/numpyro/pull/1860
- Fix the file path when rendering model by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1857
- Fix DiscreteUniform.enumerate_support with non-trivial batch shape by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1859
- Implementation of Doubly Truncated Power Law and Lower Truncated Power Law by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/1807
- Bump to 0.15.3 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1858
New Contributors
- @andyElking made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1839
- @sbidari made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1843
- @tomwallis made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1850
- @InfinityMod made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1860
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.15.2...0.15.3
- Python
Published by fehiepsi over 1 year ago
https://github.com/pyro-ppl/numpyro - 0.15.2
What's Changed
- Simplify the provenance logic to prepare for the removal of jax named shape by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1837
- Bump to 0.15.2 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1840
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.15.1...0.15.2
- Python
Published by fehiepsi over 1 year ago
https://github.com/pyro-ppl/numpyro - 0.15.1
What's Changed
- Add images to tutorial gallery by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1799
- Fix typo at publish workflow that triggers the upload many times by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1798
- Add further entropy implementations. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1800
- Support multidimensional HSGP (numpyro.contrib.hsgp) by @brendancooley in https://github.com/pyro-ppl/numpyro/pull/1803
- fix(contrib.hsgp): fix incorrect dim arg to partial spectral density fns by @brendancooley in https://github.com/pyro-ppl/numpyro/pull/1808
- fix(contrib.hsgp): convert matern spectral density from frequency domain by @brendancooley in https://github.com/pyro-ppl/numpyro/pull/1811
- example: multidimensional HSGP by @brendancooley in https://github.com/pyro-ppl/numpyro/pull/1801
- filter out tests waiting for next tfp release by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1817
- Convert explicit looping to bit twiddling for nuts u-turn calculations by @andrewdipper in https://github.com/pyro-ppl/numpyro/pull/1818
- Make figure in AR2 example reproducible by @damonbayer in https://github.com/pyro-ppl/numpyro/pull/1816
- Memory reduction fixes for MCMC sampler by @andrewdipper in https://github.com/pyro-ppl/numpyro/pull/1802
- Less than eq constaint by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/1822
- Support vector lengthscales for RBF and Matern kernels by @samanklesaria in https://github.com/pyro-ppl/numpyro/pull/1819
- Update jax.treeutil.treemap to jax.tree.map by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1821
- Fixes
random_flax_modulewithflax.linen.BatchNormby @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1823 - Allow for more general chain_method in MCMC by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1825
- Support UnpackTransform.inv via pack_fn by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1824
- Allow to use NeuTra on models with plates by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1826
- Bump to 0.15.1 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1830
New Contributors
- @andrewdipper made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1818
- @damonbayer made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1816
- @samanklesaria made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1819
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.15.0...0.15.1
- Python
Published by fehiepsi over 1 year ago
https://github.com/pyro-ppl/numpyro - 0.15.0
Breaking change: By default, Predictive will recompute the "deterministic" sites if they are provided by posteriorsamples. This brings Predictive to the behavior before the 0.14.0 release. To avoid recomputing deterministic sites like in the 0.14.0 release, set `Predictive(..., excludedeterministic=False)`.
New modules
What's Changed
- Raise
ValueErrorif deterministic site is exposed in sub-guide. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1757 - Add Initial SDVI Implementation by @treigerm in https://github.com/pyro-ppl/numpyro/pull/1758
- Fix ruff not format the changes by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1761
- Add complex constraint and real Fourier transform. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1762
- Fix ruff not fixing linter errors by @ordabayevy in https://github.com/pyro-ppl/numpyro/pull/1764
- Ruff format notebooks by @ordabayevy in https://github.com/pyro-ppl/numpyro/pull/1765
- Add explicit reparametrizer. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1754
- Add a warning message when using prng_key outside of seed by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1760
- Add a note to seed handler to mention that its instances cannot be jitted directly by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1759
- fixed lint for #1760 by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1769
- Add
RecursiveLinearTransformfor linear state space models. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1766 - Fix math rendering in variationally inferred parameterization tutorial by @brendancooley in https://github.com/pyro-ppl/numpyro/pull/1767
- Add ZeroSumNormal distribution by @kylejcaron in https://github.com/pyro-ppl/numpyro/pull/1751
- Verify result of
biject_tosatisfies the constraint. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1770 - Remove the deprecated import jax.tree_map by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1775
- Fix ensemble mcmc multiple run by @amifalk in https://github.com/pyro-ppl/numpyro/pull/1774
- Censoring example notebook by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1773
- Avoid unnecessary reshape for trivial expand by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1776
- Allow to use Delta on numpy arrays without moving them to jax devices by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1777
- Do not unflatten unevaluated lazy properties. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1778
- Move nested sampling docs to contrib by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1782
- Fix image sizes censoring notebook by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1783
- Relax check of positive definite constraint. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1784
- Add entropy implementations. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1787
- sample from distribution without storing by @amifalk in https://github.com/pyro-ppl/numpyro/pull/1790
- Predictive fix when deterministic sites are present by @kylejcaron in https://github.com/pyro-ppl/numpyro/pull/1789
- fix singleton plate bug by @amifalk in https://github.com/pyro-ppl/numpyro/pull/1792
- add constraints.greaterthaneq, constraints.positive_semidefinite, constraints.nonnegative by @amifalk in https://github.com/pyro-ppl/numpyro/pull/1793
- Tutorial Lotka Volterra multiple by @A2P2 in https://github.com/pyro-ppl/numpyro/pull/1701
- Different supports in component distributions for mixture models by @Qazalbash in https://github.com/pyro-ppl/numpyro/pull/1791
- Add a note that Trace_EnumELBO does not work with AutoContinuous by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1796
- Updat .pre-commit hook version by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1795
- Add Wishart distribution. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1779
- Add HSGP contribution module by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1794
- Bump to 0.15.0 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1797
New Contributors
- @brendancooley made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1767
- @kylejcaron made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1751
- @A2P2 made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1701
- @Qazalbash made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1791
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.14.0...0.15.0
- Python
Published by fehiepsi almost 2 years ago
https://github.com/pyro-ppl/numpyro - 0.14.0
What's Changed
- Add AutoGuideList by @tare in https://github.com/pyro-ppl/numpyro/pull/1644
- Require sample_shape passed as keyword argument to AutoGuides by @tare in https://github.com/pyro-ppl/numpyro/pull/1659
- correct event_dim use by @deoxyribose in https://github.com/pyro-ppl/numpyro/pull/1661
- Allow substitute deterministic sites by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1664
- Tutorial on Automatic Partial centering of model using LocScaleReparam by @Madhav-Kanda in https://github.com/pyro-ppl/numpyro/pull/1663
- Added kl_divergence for multivariate normals by @lumip in https://github.com/pyro-ppl/numpyro/pull/1654
- Support multi sample guides in Trace_ELBO by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1666
- Reference AutoGuideList in docs by @tare in https://github.com/pyro-ppl/numpyro/pull/1669
- fix init_params bug in hmcgibbs by @amifalk in https://github.com/pyro-ppl/numpyro/pull/1673
- Kumaraswamy distribution bug fixes by @e-pet in https://github.com/pyro-ppl/numpyro/pull/1675
- Allow AutoSemiDAIS to work without global variable by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1665
- Update continuous.py by @etymology in https://github.com/pyro-ppl/numpyro/pull/1679
- Fix intersphinx issues by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1680
- Avoid Kumaraswamy numerical issues by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1681
- Enforce supported python version in setup.py by @pierreglaser in https://github.com/pyro-ppl/numpyro/pull/1687
- Fix faulty interaction between
jax.vmapandvalidate_args=Trueby @pierreglaser in https://github.com/pyro-ppl/numpyro/pull/1686 - Use Cholesky decomp instead of inverting kernel by @DanWaxman in https://github.com/pyro-ppl/numpyro/pull/1688
- Make possible to fix the number of LF steps and tune the step size by @yayami3 in https://github.com/pyro-ppl/numpyro/pull/1698
- Support scan for Trace_ELBO by @deoxyribose in https://github.com/pyro-ppl/numpyro/pull/1693
- Add ruff support by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1700
- Hot fix: remove version requirement by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1703
- Remove
setup.cfgby @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1704 - Support optional pre-commit hooks by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1705
- transferstatesto_host convenience function by @amifalk in https://github.com/pyro-ppl/numpyro/pull/1707
- Change case to render graph for conditioned nodes. by @yayami3 in https://github.com/pyro-ppl/numpyro/pull/1711
- Add isort (ruff) by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1718
- remove upper bound sphinx by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1721
- Improve current ruff rules by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1720
- Fix links in examples and tutorials by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1722
- Fix sidebar not displayed properly on phone by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1723
- Add two ensemble sampling methods by @amifalk in https://github.com/pyro-ppl/numpyro/pull/1692
- fix elbo normalization with multisampleguide=True by @danielward27 in https://github.com/pyro-ppl/numpyro/pull/1728
- Raise
NotImplementedErrorrather than return it. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1732 - Support forward mode differentiation for SVI by @juanitorduz in https://github.com/pyro-ppl/numpyro/pull/1731
- fixing nested_sampling.py by @renecotyfanboy in https://github.com/pyro-ppl/numpyro/pull/1738
- Add auto-batched (low-rank) multivariate normal guides. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1737
- Implementation of DCC inference algorithm by @treigerm in https://github.com/pyro-ppl/numpyro/pull/1715
- Fix for pickling an MCMC object with HMCGibbs (and MixedHMC) samplers and parallel chains by @msaintja in https://github.com/pyro-ppl/numpyro/pull/1746
- Factored out HMCECS proxies to contrib by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1748
- Add median to batched auto-guides. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1749
- Address google/jax#19885 for numpyro. by @tillahoffmann in https://github.com/pyro-ppl/numpyro/pull/1743
- Fix ECS to work with Haiku by @OlaRonning in https://github.com/pyro-ppl/numpyro/pull/1750
- Add github action for releasing by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1736
- Bump to 0.14.0 by @fehiepsi in https://github.com/pyro-ppl/numpyro/pull/1735
New Contributors
- @amifalk made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1673
- @e-pet made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1675
- @etymology made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1679
- @DanWaxman made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1688
- @juanitorduz made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1700
- @danielward27 made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1728
- @tillahoffmann made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1732
- @renecotyfanboy made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1738
- @treigerm made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1715
- @msaintja made their first contribution in https://github.com/pyro-ppl/numpyro/pull/1746
Full Changelog: https://github.com/pyro-ppl/numpyro/compare/0.13.2...0.14.0
- Python
Published by fehiepsi almost 2 years ago
https://github.com/pyro-ppl/numpyro - 0.13.2
A minor release to fix numpyro 0.13.1 broken on jax 0.4.14
- Python
Published by fehiepsi over 2 years ago
https://github.com/pyro-ppl/numpyro - 0.13.1
Enhancements and Bug Fixes
- Add promotebatchshape rule for Independent (#1630) by @deoxyribose
- Support custom prng key (#1642) by @fehiepsi
- Python
Published by fehiepsi over 2 years ago
https://github.com/pyro-ppl/numpyro - 0.13.0
Breaking changes
Drops support for python 3.8 and requires jax version >= 0.4.14
New Features
- Distributions are now vmap-able (#1529) (a great contribution by @pierreglaser)
Enhancements and Bug Fixes
- Enhance LocScaleReparam's documentation (#1599) by @Madhav-Kanda
- Fix incorrect unflattenning of inverse transforms (#1600) by @pierreglaser
- Update Stein mixture (#1601 and #1612) by @OlaRonning
- Support model without global variables in AutoSemiDAIS (#1610 and #1619) by @fehiepsi
- Fix mixture assert message: string shoulf be f-string (#1617) by @adrn
- Add support for local variables in RenyiELBO (#1608) by @fehiepsi
- Fix quantile computation of mvn autoguides (#1622) by @fehiepsi
- Respect log_density in kl of delta (#1625) by @fehiepsi
- Add vectorized_particles to ELBO (#1624) by @fehiepsi
- Fix bug in SineBivariateVonMises sampler (#1628) by @deoxyribose
This release is composed of great contributions and feedback from the Pyro community. Thank you!
- Python
Published by fehiepsi over 2 years ago
https://github.com/pyro-ppl/numpyro - 0.12.1
This release includes a fix for jax 0.4.11 (#1595).
- Python
Published by fehiepsi over 2 years ago
https://github.com/pyro-ppl/numpyro - 0.12.0
New Features
- New distribution: Gompertz distribution (#1551)
- New initialization strategy: inittomean (#1550)
- New examples and tutorials:
- Illustrate the usage of JAX PositionalSharding for distributing the computations of log_prob/grad over multiple devices in MCMC (#1514)
- A port of Gaussian Mixture Model tutorial from Pyro (#1562)
- A toy mixture model with discrete enumeration (#1568)
- New inference utilities get_transforms and unconstrain_fn to transform between unconstrained and constrained space (#1564)
- Support jaxns>=2.0.1 (#1546)
Enhancements and Bug Fixes
- Make transforms jittable (#1575)
- Fixed typo in surrogate posterior of beta (#1591)
- Do not scale mnist label (#1589)
- Do not mutate shapes of ExpandedDistribution for map-free ops (#1574)
- Add support for JAX custom PRNG (#1587)
- Include deterministic variables in AutoDelta's sample_posterior (#1584)
- Fix forward shape of SimplexToOrderTransform (#1583)
- Fix inf's in TruncatedNormal log_prob & sample (#1581)
- Allow users to specify totalcountmax in Multinomial (#1557)
- Allow pickled mcmc object to run post warmup phase (#1558)
- Add init_params argument to svi.init() and svi.run() (#1561)
- Support pickling MCMC objects with enumeration (#1577)
- Raise error when reparameterize lognormal (#1548)
- Avoid initializing model params when already specified in guide (#1553)
- Respect init params if provided to mcmc.run (#1547)
- Fix provenance for jax 0.4.4 (#1543)
- Use analytic kl divergence in TraceEnum_ELBO (#1533)
- Properly handle contraction of guide plates in TraceEnum_ELBO (#1537)
- Raise an error if there is no common scale when model enumerated (#1536)
- Optimize reduction of enumerated guide sites (#1531)
- Guess maxplatenesting in TraceEnum_ELBO (#1528)
- Python
Published by fehiepsi over 2 years ago
https://github.com/pyro-ppl/numpyro - 0.11.0
Breaking changes
Drop Python 3.7 support and require the minimal jax version 0.4.
New Features
- New distributions:
- EulerMaruyama for modelling stochastic differential equations (SDE) (thanks to @yayami3)
- GaussianCopula and GaussianCopulaBeta (i.e. MultivariateBeta) to incorporate correlations into univariate random variables (thanks to @hessammehr)
- MatrixNormal generalizes multivariate normal to matrix-valued random variables (thanks to @kaijennissen)
- LogUniform distribution (thanks to @yayami3 and @andrewfowlie)
- New objective TraceEnum_ELBO to support enumeration in SVI (thanks to @ordabayevy)
- New tutorial:
- Text-Based Ideal Points using NumPyro (thanks to @elchorro)
- #1508 Allow rendering deterministic sites (thanks to @YanniPapandreou)
Enhancements and Bug Fixes
- #1507 Made constraints robust to pickling (thanks to @pierreglaser)
- #1515 Fixed log_prob for negative correlation in SineBivariateVonMises distribution (thanks to @OlaRonning)
- #1509 Fixed a bug at flatten/unflatten distributions which mixed the order of arguments of the distributions (thanks to @hessammehr)
- #1494 Fixed Mixture distribution with unnormalized logits giving incorrect log_prob
- #1486 Returned a positive ordered vector when applies ExpTransform for an ordered vector
- #1491 Fixed Mixture intermediate values
- #1480 Fixed some computations in Bayesian Hierarchical Stacking tutorial (thanks to @cpieringer)
- #1478 Added icdf methods for Beta, Gamma, StudentT
- #1477 Allowed multiple arguments to initialize flax/haiku modules (thanks to @fehiepsi)
- #1475 Used TFP's
betainc(which supports taking gradient w.r.t. parameters) in StudentT.cdf (thanks to @colehaus)
- Python
Published by fehiepsi about 3 years ago
https://github.com/pyro-ppl/numpyro - 0.10.1
New Features
- #1458 New Mixture distribution to allow component distributions come from different families (thanks to @dfm)
Enhancements and Bug Fixes
- #1469 Fix memory leak when using scan
- #1465 Fix validation logic for transformed distribution (thanks to @xidulu)
- #1462 Avoid infinite loop in vmapped Binomial (thanks to @tbenthompson)
- #1449 Move
contrib.renderfunctionality toinfer.inspect(thanks to @mattja)
- Python
Published by fehiepsi over 3 years ago
https://github.com/pyro-ppl/numpyro - 0.10.0
New Features
- #1394 New distribution Conditional Autoregressive CAR (thanks to @theorashid)
- #1434 New flexible auto guides for models with both global and local latent variables: AutoSemiDAIS and AutoSurrogateLikelihoodDAIS
- #1429 New example: Conditional Variational Autoencoder in Flax (thanks to @dirmeier)
Enhancements and Bug Fixes
- #1401 Fix
obsargument is not respected whensampleprimitive is not executed under any handler (thanks to @gcskoenig) - #1412 TraceGraph_ELBO implementation using provenance tracking
- #1418 Fix SA sampler cannot be run in parallel chains
- #1419 Fix categorical sampler occasionally generate out-of-support samples
- #1436 Allow to use
potential_fnin BarkerMH - #1437 Fix for AutoMultivariateNormal.get_posterior method return incorrect distribution (thanks to @xidulu)
- #1444 Promote shapes for observed variables inside
scan's transition function - #1443 Consider the time dimension of markov models with
history=0as plate - #1441 More stable check for corr_cholesky constraint
- #1400 Fix SineBivariateVonMises sampler
- Python
Published by fehiepsi over 3 years ago
https://github.com/pyro-ppl/numpyro - 0.9.2
New Features
- #1381 New
render_paramsargument for render_model - #1366 Allow a fixed number of steps in HMC.
- New tutorials and examples:
- Modelling mortality over space and time
- New section on adding intermediate levels to Bayesian Hierarchical Linear Regression tutorial
Enhancements and Bug Fixes
- #1386 Support JAX 0.3.5
- #1388 Update jaxns to 1.0.0
- #1372 Fix batch shapes of
SineBivariateVonMisesdistribution - #1375 Add
__repr__method for constraints - #1358 Force validate_args to be keyword argument
- #1350 Enhance the AR2 example
Thanks, @cstoafer, @hesenp, @tcbegley, @themrzmaster, @karm-patel, @theorashid
- Python
Published by fehiepsi almost 4 years ago
https://github.com/pyro-ppl/numpyro - 0.9.1
New Features
- New distributions: AsymmetricLaplace and AsymmetricLaplaceQuantile for quantile regression.
- New tutorials and examples:
Enhancements and Bug Fixes
- #1320 Fix provenance logic for
numpyro.render_model - #1330 Fix vectorize sampling for sites with size=0
- #1331 Allow nested params in SteinVI
- #1333 Reduce memory consumption for SteinVI
- #1325 Fix compat MCMC signature
Thanks, @Vinnie-Palazeti, @wataruhashimoto52, @hessammehr, @OlaRonning, @d-diaz!
- Python
Published by fehiepsi almost 4 years ago
https://github.com/pyro-ppl/numpyro - 0.9.0
New Features
- New VI inference: SteinVI. Checkout a couple examples in PRs #1297 #1298 for the usage.
- New distributions: MultivariateStudentT, DiscreteUniform, Kumaraswamy, RelaxedBernoulli .
- New tutorials and examples:
- Tutorial for Truncated distributions: a complete guide for how to construct a NumPyro distribution.
- Bayesian Hierarchical Stacking case study to average models based on weights from a hierarchical structure.
- Sine-skewed sine (bivariate von Mises) mixture to model the dihedral angles that occur in the backbone of a protein.
- AR2 processes to show how to avoid the (slow) Python for-loop.
- Holt-winter Exponential Smoothing example for time series forecasting.
- Hilbert space approximation for Gaussian processes example is significantly revised.
Enhancements and Bug Fixes
- #1305 Fixes HMCECS bug for likelihoods with multiple plates
- #1304 Improves warning mechanism when plates are missing.
- #1301 Fixes sparse Poisson density sometimes returns int output.
- #1289 Make HMC Gibbs algorithms work with improper distributions
- #1284 Adds various KL divergences for Gamma/Beta families
- #1281 Raises error if there are duplicated deterministic sites
- #1271 Better warning mechanism with stacklevel
- #1270 Incorporate kl divergences of Tensorflow Probability distributions
- #1259 #1266 Allow TruncatedNormal/Cauchy to take both low and high
- #1254
numpyro.contrib.indexingis moved tonumpyro.ops.indexing - #1252 Use multipledispatch for
kl_registry - #1250 Added
cdfmethods for gamma, inverse gamma, log normal densities - #1248 Add ProvenanceArray to infer relational structure in a model
- #1244 Raise warning for the automatic enumeration behavior
- #1237 Enhance warnings for invalid parameters of
BetaProportiondistribution - #1227 Allow
priorto be callable inrandom_flax_moduleandrandom_haiku_module - #1226 Allow inittosample work with scalar values
- #1225 Add color for divergences in Neal's example
- #1196 Allow custom precision function in laplace approximation autoguide
- #1194 Option to specify init state for SVI run
- #1185 #1189 Avoid -inf/nan samples in truncated distributions
- #1182 Extend scope handler for plate stack frames
- #1179 Support enumerate support for zero inflated distributions
- #1169 Allow pickle autoguides
This release is composed of great contributions and feedback from the Pyro community: @amalvaidya @MarcoGorelli @omarfsosa @maw501 @bjeffrey92 @hessammehr @OlaRonning @dykim29 @Carlosbogo @wataruhashimoto52 @Vedranh13 @ahmadsalim @austereantelope and many others. Thank you!
- Python
Published by fehiepsi about 4 years ago
https://github.com/pyro-ppl/numpyro - 0.8.0
Breaking changes
Switch to softplus transforms for autoguide scales (thanks to experiments performed by @vitkl).
New Features
- New autoguide: AutoDAIS leverages HMC and annealed importance sampling within a variational inference framework
- New distributions: MixtureSameFamily, and directional distributions SineBivariateVonMises, SineSkewed
- New constraints: l1_ball for vectors with L1 norm less than 1
- New transforms: L1BallTransform, SimplexToOrderedTransform, ScaledUnitLowerCholeskyTransform
- #1116 New format_shapes utility to interpret the shapes of random variables/plates in a model.
- #1109 Allow direct use of TFP distributions in numpyro.sample
- New tutorials and examples:
- Principled prior with Dirichlet distribution for Ordinal Regression case study
- Horseshoe regression
- Bad posterior geometry and how to deal with it
Enhancements and Bug Fixes
- #1108 Avoid numerical problems when using BernoulliProbs
- #1118 Recommend AutoNormal guide when hessian in AutoLaplace is singular
- #1126 Smarter warning about discrete inference in SVI models
- #1136 Support to use SA sampler with arviz
- #1139 Document Poisson
is_sparseargument - #1140 Make Sigmoid and StickBreakingTransform more stable
- #1149 Raise value error if num_steps bad in svi.run
- #1162 Use black[jupyter] in notebooks
This release is composed of great contributions and feedback from the Pyro community: @MarcoGorelli @OlaRonning @d-diaz @quattro @svilupp @peterroelants @prashjet @freddyaboulton @tcbegley @julianstastny @alexlyttle and many others. Thank you!
- Python
Published by fehiepsi over 4 years ago
https://github.com/pyro-ppl/numpyro - 0.7.2
This is a patch release with the following new feature and fixes:
- New example Hilbert space approximation of Gaussian processes #1097 thanks to @omarfsosa
- Fix for rendering models with only discrete variables #1099 thanks to @bdatko
- Fix progress-bar issues when running multi-chain MCMC #1101
- Python
Published by fehiepsi over 4 years ago
https://github.com/pyro-ppl/numpyro - 0.7.1
In 0.7.0 release, the wheel file uploaded to PyPI had some files not updated. This release fixes that issue.
- Python
Published by fehiepsi over 4 years ago
https://github.com/pyro-ppl/numpyro - 0.7.0
Since this release, NumPyro can be installed along with the latest jax and jaxlib releases (their version restrictions have been relaxed). In addition, NumPyro will use the default JAX platform so if you installed JAX with GPU/TPU support, their devices will be used by default.
New Features
- New distributions: SoftLaplace, Weibull, BetaProportion, NegativeBinomial, NegativeBinomial2, ZeroInflatedDistribution, ZeroInflatedPoisson, ZeroInflatedNegativeBinomial2, FoldedDistribution
- Support for DeepMind's Optax optimizers in SVI
- New ELBO objective: TraceGraph_ELBO for non-reparameterized latent variables (e.g. discrete latent variables)
- A new wrapper NestedSampler to leverage the nested sampling package jaxns for NumPyro models
- Implement
cdfandicdfmethods for many distributions - New cond primitive.
- New infer_discrete handler to sample discrete sites under enumeration. Check out the annotation example for a usage.
- Structural mass matrix can be specified via dense_mass argument of the HMC/NUTS constructor #963
- New examples:
- Thompson sampling for Bayesian optimization with GPs
- Latent Dirichlet Allocation for topic modeling: a great example to illustrate the usage of Flax/Haiku in NumPyro
Enhancements and Bug Fixes
- Documentation and examples are greatly enhanced to make features more accessible
- Fix chain detection for various CPU device strings #1077
- Fix AutoNormal's
quantilesmethod for models with non-scalar latent sites #1066 - Fix LocScaleReparam with
center=1#1059 - Enhance auto guides to support models with deterministic sites #1022
- Support for mutable states in Flax and Haiku modules #1016
- Fix a bug in auto guides that happens when using the guide in Predictive #1013
- Support decorator syntax for effect handlers #1009
- Implement sparse Poisson log probability #1003
- Support
total_count=0in Multinomial distribution #1000 - Add a flag to control regularize mass matrix behavior in mass matrix adaptation #998
- Add experimental Dockerfiles #996
- Allow setting max tree depth of NUTS sampler during warmup phase #984
- Fix dimensions mixed up in
ExpandedDistribution.samplemethod #972 - MCMC objects can be pickled now #968
This release is made of great contributions and feedbacks from the Pyro community: @ahoho, @kpj, @gustavehug, @AndrewCSQ, @jatentaki, @tcbegley, @dominikstrb, @justinrporter, @dirmeier, @irustandi, @MarcoGorelli, @lumip, and many others. Thank you!
- Python
Published by fehiepsi over 4 years ago
https://github.com/pyro-ppl/numpyro - 0.6.0
New Features
- Progress bar is available for running parallel MCMC chains.
- New samplers:
- BarkerMH - a Metropolis-Hastings sampler that uses a skew-symmetric proposal distribution that depends on the gradient of the potential
- New taylor_proxy for HMCECS sampler. This control variate significantly improves the performance of HMCECS on tall data.
- MixedHMC for mixed discrete and continuous variables
- New distributions:
- ProjectedNormal is similar to von Mises and von Mises-Fisher distributions but permits tractable variational inference via reparametrizers
- TruncatedDistribution to truncate over a family of symmetric distributions: Cauchy, Laplace, Logistic, Normal, StudentT
- New method Distribution.infer_shapes() for static shape analysis.
- New constraints: sphere, positiveorderedvector, softplus_positive, softpluslowercholesky
- New transforms: SoftplusTransform, SoftplusLowerCholeskyTransform
- New reparameterizer: ProjectedNormalReparam for
ProjectedNormaldistribution - New obs_mask argument in
sampleprimitive for masked conditioning - New examples:
Enhancements and Bug Fixes
- Improve precision for Dirichlet distributions with small concentration #943
- Make it easy to use softplus transforms in autoguides #941
- Improving compiling time in MCMC samplers - compiling time is 2x faster than previously #924
- Reduce memory requirement for
AutoLowRankMultivariateNormal.quantiles#921 - Example of how to use Distribution.mask #917
- Add goodness of fit helpers for testing distributions #916
- Enabling sampling with intermediates for
ExpandedDistribution#909 - Fix DiscreteHMCGibbs to work with multiple chains #908
- Fix missing
inferkey inhandlers.lift#892
Thanks @loopylangur, Dominik Straub @dominikstrb, Jeremie Coullon @jeremiecoullon, Ola Rønning @OlaRonning, Lukas Prediger @lumip, Raúl Peralta Lozada @RaulPL, Vitalii Kleshchevnikov @vitkl, Matt Ludkin @ludkinm, and many others for your contributions and feedback!
- Python
Published by fehiepsi almost 5 years ago
https://github.com/pyro-ppl/numpyro - 0.5.0
New documentation page with galleries of tutorials and examples num.pyro.ai.
New Features
- New primitive: prng_key to draw a random key under
seedhandler. - New autoguide: AutoDelta
- New samplers:
- HMCGibbs: a general HMC/NUTS-within-Gibbs interface.
- DiscreteHMCGibbs: HMC/NUTS-within-Gibbs for models with discrete latent variables.
- HMCECS: HMC/NUTS with energy conserving subsampling.
- New example:
- New kernels module in
numpyro.contrib.einstein, in preparing for (Ein)Stein VI inference in future releases. - New user-friendly SVI.run method to simplify the training phase of SVI inference.
- New feasible_like method in constraints.
- New methods
forward_shapeandinverse_shapein Transform to infer output shape given input shape. - Transform.inv now returns an inversed transform, hence enables many new (inversed) transforms.
- Support thinning in MCMC.
- Add postwarmupstate and last_state to allow sequential sampling strategy in MCMC: allow to keep calling
.runmethod to get more samples. - New
historyargument to support for Markov models withhistory > 1in scan. - New forwardmodeldifferentiation argument in HMC/NUTS kernels to allow to use forward mode differentiation.
Enhancements and Bug Fixes
- #886 Make TransformReparam compatible with
.to_event() - #883 Improve gradient computation of Euclidean kinetic energy.
- #872 Enhance masked distribution to allow gradient propagate properly when using
maskhandler for invalid data. - #865 Make subsample faster in CPU.
- #860 Fix for memory leak in MCMC.
- #849 Expose
logitsattribute to some discrete distributions - #848 Add
has_rsampleandrsampleattribute to distributions - #832 Allow a callable to return an init value in
paramprimitive - #824 Fix for cannot using sample method of TFP distributions in
sampleprimitive. - #823 Demo on how to use various init strategies in Gaussian Process example.
- #822 Allow haiku/flax modules to take general args/kwargs in
init. - #821 Better error messages when
rng_keyis missing. - #818 Better error messages when an error happens in the middle of inference.
- #805 Display correct progress bar message after running
MCMC.warmup. - #801 Raise an error early if missing plates for models with discrete latent variables.
- #797 MCMC
vectorizedchain method works for models with deterministic sites. - #796 Bernoulli distribution returns an int instead of a boolean.
- #795 Reveal signature for
help(Distribution).
Thanks Ola Ronning @OlaRonning, Armin Stepanjan @ab-10, @cerbelaut, Xi Wang @xidulu, Wouter van Amsterdam @vanAmsterdam, @loopylangur, and many others for your contributions and helpful feedback!
- Python
Published by fehiepsi about 5 years ago
https://github.com/pyro-ppl/numpyro - 0.4.1
New Features
- #772 Add DirichletMultinomial distribution.
- #773 (experiment) Add collapse handler to exploit conjugacy relations.
Enhancements and Bug Fixes
- #764 Make exception chaining more user-friendly. Thanks, @akihironitta!
- #766 Relax interval constraint.
- #776 Fix bugs in methods
log_probandsampleofVonMisesdistribution. - #775 Make validation mechanism compatible with omnistaging since JAX 0.2.
- #780 Fix name dimensions of sample sites under
contrib.funsor'splatehandler.
- Python
Published by fehiepsi over 5 years ago
https://github.com/pyro-ppl/numpyro - 0.4.0
Experimental integrations with JAX-based TensorFlow Probability and neural network libraries Flax and Haiku. New high-quality tutorials written by NumPyro contributors. JAX 0.2 enables "omnistaging" by default (see this guide for what omnistaging means and how to update your code if it is broken after the upgrade - you can also disable this new behavior with jax.config.disable_omnistaging()).
New Features
- New primitives in
numpyro.contrib.moduleto create Bayesian Neural Networks (BNN) using Flax or Haiku: flax_module, randomflaxmodule, haiku_module, randomhaikumodule. See randomflaxmodule doc for an end-to-end example to construct, train, and make prediction with a BNN. - Wrappers for many TensorFlow Probability distributions in
numpyro.contrib.tfp.distributions. - Wrappers for many TensorFlow MCMC kernels in
numpyro.contrib.tfp.mcmc. A user-defined TensorFlow MCMC kernel can be converted to NumPyro-compatible one using TFPKernel. - New distribution: Geometric distribution.
- New primitive: subsample primitive for data/param subsampling.
- New auto guide: AutoNormal which is similar to
AutoDiagonalNormalbut more suitable for mean field ELBO and param subsampling. - New SVI objective: TraceMeanField_ELBO.
- New optimizer: Minimize with BFGS method.
New Examples
- Bayesian Imputation for Missing Values in Discrete Covariates tutorial: leverage enumeration mechanism to marginalize discrete missing covariates - applied for clinical synthesis data.
- Bayesian Hierarchical Linear Regression tutorial: practical Bayesian inference for Kaggle competitions.
- Ordinal Regression tutorial: how to deal with ordered discrete data.
Deprecation
Changes to match Pyro api.
ELBOobjective is renamed toTrace_ELBO.valueargument inDeltadistribution is replaced byv.init_strategyargument in autoguides is replaced byinit_loc_fn.
Enhancements and Bug Fixes
- Relax
simplexconstraint. #725 #737 - Fix
init_strategyargument not respected in HMC and SA kernels. #728 - Validate the model when cannot find valid initial params. #733
- Avoid
nanacceptance probability in SA kernel. #740
Thanks @xidulu, @vanAmsterdam, @TuanNguyen27, @ucals, @elchorro, @RaulPL, and many others for your contributions and helpful feedback!
- Python
Published by fehiepsi over 5 years ago
https://github.com/pyro-ppl/numpyro - 0.3.0
Breaking Changes
- HMC's findheuristicstep_size (this functionality is different from step size adaptation scheme) is disabled by default to improve compiling time. Previous behavior can be enabled by setting
find_heuristic_step_size=True. - The automatic reparameterization mechanism introduced in NumPyro 0.2 is removed, in favor of
reparamhandler. See the eight schools example for the new usage pattern. - Automatic Guide Generation module is moved from
numpyro.contrib.autoguideto the main inference modulenumpyro.infer.autoguide. - Various API changes to match Pyro API:
- mask handler:
mask_arrayarg is renamed tomask. - scale handler:
scale_factorarg is renamed toscale. - condition and substitute handlers:
param_mapis renamed todata. MultivariateAffineTransformtransform is renamed to LowerCholeskyAffine.init_to_priorstrategy is renamed to inittosample.
- mask handler:
New Features
- Funsor-based NumPyro: allow enumeration over discrete latent variables. See mixture and Markov examples below for some applications.
- New primitives: plate_stack and scan. If your model has Python
forloop, considering usingscaninstead to improve compiling time. - New handlers: reparam, scope, and lift.
- New distributions: von Mises, Gumbel, Logistic, Laplace, TruncatedPolyaGamma, ExpandedDistribution, MaskedDistribution, and ImproperUniform.
- Distribution has new properties
is_discrete,has_enumerate_support, and new methods shape, enumerate_support, expand, expand_by, mask. In addition,Distributionhas been registered as a JAX Pytree class, with corresponding methodstree_flattenandtree_unflatten. - New constraint: less_than.
- Port Tensor Indexing from Pyro.
- Port some Reparameterizers from Pyro.
- Add
batch_ndimsarg to Predictive and log_likelihood to allow using those utilities with arbitrary number of batch dimensions.
New Examples
- Proportion Test example: You are managing a business and want to test if calling your customers will increase their chance of making a purchase.
- Bayesian Models of Annotation examples: illustrates enumeration for mixture models.
- Enumerate HMM examples: illustrates enumeration for markov models.
- Bayesian Imputation tutorial.
Enhancements and Bug Fixes
- HMC/NUTS compiling time is greatly improved, especially for large models.
- More efficient BTRS algorithm for sampling from Binomial distribution. #537
- Allow arbitrary order of
platestatements. #555 - Fix KeyError with
scalehandler anddeterministicprimitive. #577 - Fix Poisson sampler entering into infinite loop under vmap. #582
- Fix the double compilation issue in
numpyro.optimclasses. #603 - Use ExpandedDistribution in
numpyro.plate. #616 - Timeseries forecasting tutorial is updated with
scanprimitive and the usage ofPredictivefor forecasting. #608 #657 - Tweak sparse regression example to bring the model into exact alignment with the reference. #669
- Add MetropolisHastings algorithm as an example of MCMCKernel. #680
Thanks Nikolaos @daydreamt, Daniel Sheldon @dsheldon, Lukas Prediger @lumip, Freddy Boulton @freddyaboulton, Wouter van Amsterdam @vanAmsterdam, and many others for their contributions and helpful feedback!
- Python
Published by fehiepsi over 5 years ago
https://github.com/pyro-ppl/numpyro - 0.2.4
New Features
- NumPyro can be used on Cloud TPUs.
- Deterministic primitive to record deterministic values in a model.
- Mask handler to mask out the log probability of a sample site using a mask array.
- Sample Adaptive MCMC, a non-gradient based sampler that has a high effective sample size per second.
- New normalizing flow: Block neural autoregressive transform.
- Additional auto guides: AutoLowRankMultivariateNormal and AutoBNAFNormal.
New Examples
- Predator-prey model example: uses MCMC to solve the inverse problem of an ODE system.
- Neural transport example: uses a normalizing flow to transform the posterior to a Gaussian-like one, thereby improving mixing rate for HMC/NUTS.
Deprecation / Breaking Changes
- Predictive's get_samples method is deprecated in favor of
__call__method. - MCMC
constrain_fnis renamed topostprocess_fn.
Enhancements and Bug Fixes
- Change the init scale of Auto*Normal guides from 1. to 0.1 - this is helpful for stability during the early training phase.
- Resolve overflow issue with the Poisson sampler.
- Python
Published by fehiepsi about 6 years ago
https://github.com/pyro-ppl/numpyro - 0.2.3
Patches 0.2.2 with the following changes:
- restore compatibility with python 3.7 for mcmc.
- impose cache size limit in MCMC utilities.
- Python
Published by neerajprad about 6 years ago
https://github.com/pyro-ppl/numpyro - 0.2.2
Breaking changes
- Minor interface changes to MCMC utility functions. All experimental interfaces are marked as such in the documentation.
New Features
- A numpyro.factor primitive that adds an arbitrary log probability factor to a probabilistic model.
Enhancements and Bug Fixes
- Addressed a bug where multiple invocations of
MCMC.runwould wrongly use the previously cached arguments. MCMCreuses compiled model code whenever possible. e.g. when re-running with different but same sized model arguments.- Ability to reuse the same warmup state for subsequent MCMC runs using MCMC.warmup.
- Python
Published by neerajprad about 6 years ago
https://github.com/pyro-ppl/numpyro - 0.2.1
Breaking changes
- Code reorganization -
numpyro.mcmcis moved tonumpyro.infer.mcmcbut all major classes are exposed in thenumpyro.infermodule. rngargument to many classes and theseedhandler has been more accurately renamed torng_key.- Deprecated functions that formed the old interface like
mcmcandsvihave been removed.
New Features
- Improved turning condition for NUTS that results in much higher effective sample size for many models.
- A numpyro.plate context manager, which records conditional independence information in the trace and does automatic broadcasting, like in Pyro.
- Inclusion of AutoMultivariateNormal, AutoLaplaceApproximation to the autoguide module.
- More distributions like LowRankMultivariateNormal, LKJ, BetaBinomial, GammaPoisson, ZeroInflatedPoisson, and OrderedLogistic.
- More transforms: MultivariateAffineTransform, InvCholeskyTransform, OrderedTransform.
- A
numpyro.compatmodule that supports the pyro generic API for modeling and inference that can dispatch to multiple Pyro backends. - Inclusion of Independent distribution and
Distribution.to_eventmethod to convert independent batch dimensions to dependent event dimensions. See the Pyro tutorial on tensor shapes for more details. - A Predictive utility for generating samples from prior models, predictions from models using SVI's guide, or posterior samples from MCMC.
- A log_likelihood utility function that can compute the log likelihood for observed data by conditioning latent sites to values from the posterior distribution.
- New ClippedAdam optimizer to prevent exploding gradients.
- New RenyiELBO loss for Renyi divergence variational inference and importance weighted variational inference.
Enhancements and Bug Fixes
- MCMC does not throw an error on models with no latent sites.
- numpyro.seed handler can be used as a context manager like:
python with numpyro.seed(rng_seed=1): ... - Utilities to enable validation checks for distributions, set host device count, and platform.
- More efficient sampling from Binomial / Multinomial distributions.
- The evidence lower bound loss for SVI is now a class called
ELBO. - Add
energyfield to HMCState, which is used to compute Bayesian Fraction of Missing Information for diagnostics. - Add
init_strategyarg to HMC/NUTS classes, which allows users select various initialization strategies.
- Python
Published by neerajprad over 6 years ago
https://github.com/pyro-ppl/numpyro - 0.2.0
Highlights
- Interface Changes to MCMC and SVI: The interface for inference algorithms have been simplified, and is much closer to Pyro. See MCMC and SVI.
- Multi-chain Sampling for MCMC: There are three options provided:
parallel(default),sequential, andvectorized. Currently,parallelmethod is the fastest among the three.
Breaking changes
- The primitives
param,sampleare moved to primitives module. All primities are exposed innumpyronamespace.
New Features
MCMC
- In MCMC, we have the option to collect fields other than just the samples such as number of steps or step size, using
collect_fieldsarg in MCMC.run. This can be useful when gathering diagnostic information during debugging. divergingfield is added to HMCState. This field is useful to detect divergent transitions.- Support improper prior through
paramprimitives. e.g.python def model(data): loc = numpyro.param('loc', 0.) scale = numpyro.param('scale', 0.5, constraint=constraints.positive) return numpyro.sample('obs', dist.Normal(loc, scale), obs=data)
Primitives / Effect Handlers
- module primitive to support JAX style neural network. See VAE example.
- condition handler for conditioning sample sites to observed data.
- scale handler for rescaling the log probability score.
Optimizers
JAX optimizers are wrapped in the numpyro.optim module, so that the optimizers can be passed in directly to SVI.
Distributions
- New distributions: Delta, GaussianRandomWalk, InverseGamma, LKJCholesky (with both
cvineandonionmethods for sampling), MultivariateNormal. - New transforms: CorrCholeskyTransform (which is vectorized), InverseAutoregressiveTransform, LowerCholeskyTransform, PermuteTransform, PowerTransform.
Utilities
- predictive utility for vectorized predictions from the posterior predictive distribution.
Autoguides
An experimental autoguide module, with more autoguides to come.
New Examples
- Sparse Linear Regression - fast Bayesian discovery of pairwise interactions in high dimensional data.
- Gaussian Process - sample from the posterior over the hyperparameters of a gaussian process.
- HMC on Neal's Funnel - automatic reparameterization through transform distributions.
Enhancements and Bug Fixes
- Improve compiling time in MCMC.
- Better PRNG splitting mechanism in SVI (to avoid reusing PRNG keys).
- Correctly handle models with dynamically changing distribution constraints. e.g.
python def model(): x = numpyro.sample('x', dist.Uniform(0., 2.)) y = numpyro.sample('y', dist.Uniform(0., x)) # y's support is not static. - Fixes
step_sizegettingNaNin MCMC when it becomes extremely small.
- Python
Published by neerajprad over 6 years ago
https://github.com/pyro-ppl/numpyro - First Public Release
Refer to the README for details.
- Python
Published by neerajprad over 6 years ago