Blackjax

Latest version: v1.2.4

Safety actively analyzes 682441 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

0.8.0

What's Changed

* Pathfinder by miclegr in https://github.com/blackjax-devs/blackjax/pull/194
* Refactor Pathfinder implementation by junpenglao in https://github.com/blackjax-devs/blackjax/pull/210
* Make MALA work with any PyTree by rlouf in https://github.com/blackjax-devs/blackjax/pull/216
* Set target_acceptance_rate=0.8 in window adaptation by rlouf in https://github.com/blackjax-devs/blackjax/pull/218

New Contributors
* miclegr made their first contribution in https://github.com/blackjax-devs/blackjax/pull/194

**Full Changelog**: https://github.com/blackjax-devs/blackjax/compare/0.6.0...0.8.0

0.7.0

What's Changed

- Added the Stochastic Gradient Langevin Dynamics algorithm rlouf

0.6.0

What's Changed
* Specify custom gradients. by FedericoV in https://github.com/blackjax-devs/blackjax/pull/205
* Add Elliptical slice sampler by albcab in https://github.com/blackjax-devs/blackjax/pull/183

New Contributors
* FedericoV made their first contribution in https://github.com/blackjax-devs/blackjax/pull/205

**Full Changelog**: https://github.com/blackjax-devs/blackjax/compare/0.5.0...0.6.0

0.5.0

What's Changed
* Fix tests and pre-commits on local devices by albcab in https://github.com/blackjax-devs/blackjax/pull/188
* Add the MALA sampling algorithm by rlouf in https://github.com/blackjax-devs/blackjax/pull/189
* Fix install instructions in README by FredericWantiez in https://github.com/blackjax-devs/blackjax/pull/196
* Adding progress bars to window adaptation by zaxtax in https://github.com/blackjax-devs/blackjax/pull/190
* Add the Orbital HMC sampler by albcab

New Contributors
* FredericWantiez made their first contribution in https://github.com/blackjax-devs/blackjax/pull/196

0.4.0

Breaking changes

:warning: **This release changes the high-level API as well as import paths** :warning:

This release simplifies the high-level API for samplers. For instance, to initialize and use a HMC kernel:

python
import blackjax

hmc = blackjax.hmc(logprob_fn step_size, inverse_mass_matrix, num_integration_steps)
state = hmc.init(position)
new_state, info = hmc.step(rng_key, state)

`hmc` is now a namedtuple with a `init` and a `step` function; you only need to pass `logprob_fn` at initialization unlike the previous version. The internals were simplified a lot, and the hierarchy is now more flat. For instance, to use the base HMC kernel directly:

python
import blackjax.mcmc.integrators as integrators
import blackjax.mcmc.hmc as hmc

kernel = hmc.kernel(integrators.mclachlan)
state = hmc.init(position, logprob_fn)
state, info = kernel(rng_key, state, logprob_fn, step_size, inverse_mass_matrix, num_integration_steps)


The API of the base kernels has also been changed to be more flexible.

Performance improvements

Thanks to the work of zaxtax junpenglao and rlouf the performance of the NUTS sampler (especially the warmup) has been greatly improved and is now at least on par with numpyro.

What's Changed

No new algorithm in this release, but important work was done on the API, the internals and the examples.

* Fix SMC notebook as per issue https://github.com/blackjax-devs/blackjax/issues/148 by AdrienCorenflos in https://github.com/blackjax-devs/blackjax/pull/149
* Add a logistic regression example by gerdm in https://github.com/blackjax-devs/blackjax/pull/103
* Update to fold in all trajectory building into a single while_loop by junpenglao in https://github.com/blackjax-devs/blackjax/pull/164
* Update use_with_numpyro.ipynb by junpenglao in https://github.com/blackjax-devs/blackjax/pull/165
* Updated trajectory.py by Gautam-Hegde in https://github.com/blackjax-devs/blackjax/pull/167
* Simplify the user API & create a more general kernel by rlouf in https://github.com/blackjax-devs/blackjax/pull/159
* Make the PyMC example run on version 4 by rlouf in https://github.com/blackjax-devs/blackjax/pull/178
* Moved dual_averaging.py to /adaptation and renamed it to optimizers.py by Bnux256 in https://github.com/blackjax-devs/blackjax/pull/179
* Fix example notebook to use pymc 4 by zaxtax in https://github.com/blackjax-devs/blackjax/pull/180

New Contributors
* gerdm made their first contribution in https://github.com/blackjax-devs/blackjax/pull/103
* Gautam-Hegde made their first contribution in https://github.com/blackjax-devs/blackjax/pull/167
* Bnux256 made their first contribution in https://github.com/blackjax-devs/blackjax/pull/179
* zaxtax made their first contribution in https://github.com/blackjax-devs/blackjax/pull/180

**Full Changelog**: https://github.com/blackjax-devs/blackjax/compare/0.3.0...0.4.0

0.3.0

What changed

Breaking changes

To build a HMC or NUTS kernel in 0.2.1 and previous versions one needed to provide a `potential_fn` function:

python
kernel = nuts.kernel(potential_fn, step_size, inverse_mass_matrix)


Instead we now ask the users to provide the more commonly used log-probability function:

python
kernel = nuts.kernel(logprob_fn, step_size, inverse_mass_matrix)


where `logprob_fn = lambda x: -potential_fn(*x)`

New features

- Tempered Sequential Monte Carlo (AdrienCorenflos 40 )
- Rosenbluth Metropolis Hastings algorithm (AdrienCorenflos 74 )
- Effective Sample Size, RHat (junpenglao 66 )
- Higher-order integrators for HMC (rlouf 59 )

Bugs

* Missing key splitting in trajectory integration (wiep 53 )

Page 4 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.