Releases: JaxGaussianProcesses/GPJax
v0.9.4
What's Changed
- Fix optional array arguments in class constructors by @stefanocortinovis in #488
- Fix broken latex equations by @thomaspinder in #489
- fix: update links in documentation to use the correct path for examples by @Qazalbash in #491
- update README regression example with negative objective by @huylenguyen in #492
- Fix tests with jax 0.5.1 by @stephen-huan in #494
New Contributors
- @Qazalbash made their first contribution in #491
- @huylenguyen made their first contribution in #492
Full Changelog: v0.9.3...v0.9.4
v0.9.3
What's Changed
- optional solver_algorithm parameter to sample_approx by @theorashid in #478
- Fix broken examples by @thomaspinder in #480
- Fix callbacks by @stefanocortinovis in #483
- Fix
Static
check inGaussian
likelihood by @stefanocortinovis in #484 - Allow to pass trainable inducing inputs to AbstractVariationalGaussian by @stefanocortinovis in #485
- Swap collapsed_vi.md and uncollapsed_vi.md by @stefanocortinovis in #486
- Bump project version to 0.9.3 by @stefanocortinovis in #487
New Contributors
- @stefanocortinovis made their first contribution in #483
Full Changelog: v0.9.1...v0.9.3
v0.9.1
What's Changed
- Add workflow dispatch by @thomaspinder in #466
- Add Hatch by @thomaspinder in #468
- Add workflow by @thomaspinder in #470
- Remove
progress_bar.py
by @daniel-dodd in #472 - Remove redundant pyspelling files by @daniel-dodd in #473
Full Changelog: v0.9.0...v0.9.1
v0.9.0
Key Changes
In v0.9.0, the backend of GPJax has migrated to the NNX module of Flax (h/t @cgarciae) . This allows us to assign structure to our parameters, hook into Flax's ecosystem, and simplify our underlying code. From a frontend perspective, you may now assign a type to your parameters e.g., PositiveReal
and easily invoke the state of your GP.
State
For any component of GPJax, such as a kernel, mean function, prior or posterior GP.etc, you may now realise the state of the component using nnx.Split
. For example, the state of a Matérn kernel would be realised by
kernel = gpx.kernels.Matern32()
_, params = nnx.split(kernel, gpx.parameters.Parameter)
This allows users to have low-level control over the exact operations that are made on the parameters. We detail this fully in the Parameters section of our Model Guide notebook.
Parameters
We now recognise the support that a parameter. For example, strictly positive parameters such as the lengthscale or variance are instantiated via the PositiveReal
parameter. Meanwhile, parameters that are constrained to be lower triangular matrix are instantiated through the LowerTriangular
parameter.
What's Changed
- Point CoC breaches to our contact form. by @thomaspinder in #451
- Quick fix to stop automatic switch to CG by @henrymoss in #454
- Fix some type annotations causing failing tests by @stephen-huan in #456
- Feature: Adds probability of improvement as an acquisition function by @miguelgondu in #458
- Add expected improvement utility function by @Thomas-Christie in #460
- feat(gpjax/kernels/base.py): add diagonal by @stephen-huan in #429
- Flax/nnx backend by @frazane in #440
New Contributors
- @stephen-huan made their first contribution in #456
- @miguelgondu made their first contribution in #458
Full Changelog: v0.8.2...v0.9.0
v0.8.2
What's Changed
- add missing jaxopt dependency by @st-- in #445
- Bump to v0.8.2 by @thomaspinder in #448
Full Changelog: v0.8.1...v0.8.2
v0.8.1
What's Changed
- Fix broken docs by @thomaspinder in #424
- Add generic typing information for gps objects by @frazane in #425
- Perhaps finally a decent LBFGS? by @henrymoss in #426
- Fix BO notebook by @Thomas-Christie in #430
- Clean up intro to kernels notebook by @st-- in #432
- Update intro_to_gps.py by @neel-maniar in #433
- Minor typos in mathematical definitions in intro_to_gps.py by @neel-maniar in #434
- Minor typo in analytic expression for Bayesian evidence in intro_to_g… by @neel-maniar in #438
- Fixed mutable default value error in VelocityKernel and HelmholtzKernel dataclasses in python 3.11 by @wejpurvis in #439
- Update dependencies by @Thomas-Christie in #442
- Bump version by @thomaspinder in #443
New Contributors
- @neel-maniar made their first contribution in #433
- @wejpurvis made their first contribution in #439
Full Changelog: v0.8.0...v0.8.1
v0.8.0
Breaking changes
- Dropped data masking, multi-output kernels
- Namespace paths have changed to full-form i.e.,
gpx.Prior
->gpx.gps.Prior
What's Changed
- Add search space class for BayesOpt by @Thomas-Christie in #355
- Add classes for forming acquisition functions by @Thomas-Christie in #359
- Add classes for handling posteriors during the decision making loop by @Thomas-Christie in #362
- Add logic for running a decision making loop by @Thomas-Christie in #365
- Prepare for future batching by @Thomas-Christie in #385
- Add decision making functionality by @Thomas-Christie in #386
- formatting and spelling by @ivanshalashilin in #387
- Multi output by @ingmarschuster in #360
- Quick fix to remove duplicate file by @henrymoss in #395
- Add governance doc by @thomaspinder in #398
- Fix obs_noise confusion by @henrymoss in #400
- bump cola to v0.0.5 by @daniel-dodd in #405
- Jaxopt 2 by @henrymoss in #402
- fix config import by @henrymoss in #410
- LOOCV objective by @henrymoss in #412
- Fix AnalyticalGuassianIntegrator by @meta-inf in #414
- Fix bug and add test. by @daniel-dodd in #416
- Fix typo in CollapsedELBO by @meta-inf in #417
- Bump version by @thomaspinder in #411
- Cleanup src by @thomaspinder in #419
- Update README.md by @daniel-dodd in #418
- Update typing.py by @daniel-dodd in #423
- Namespace cleanup by @thomaspinder in #408
New Contributors
Full Changelog: v0.7.0...v0.8.0
v0.7.3
What's Changed
- Jaxopt 2 by @henrymoss in #402
- fix config import by @henrymoss in #410
- LOOCV objective by @henrymoss in #412
- Fix AnalyticalGuassianIntegrator by @meta-inf in #414
- Fix bug and add test. by @daniel-dodd in #416
- Fix typo in CollapsedELBO by @meta-inf in #417
- Bump version by @thomaspinder in #411
New Contributors
Full Changelog: v0.7.2...0.7.3
v0.7.2
v0.7.1
What's Changed
- Add search space class for BayesOpt by @Thomas-Christie in #355
- Add classes for forming acquisition functions by @Thomas-Christie in #359
- Add classes for handling posteriors during the decision making loop by @Thomas-Christie in #362
- Add logic for running a decision making loop by @Thomas-Christie in #365
- Prepare for future batching by @Thomas-Christie in #385
- Add decision making functionality by @Thomas-Christie in #386
- formatting and spelling by @ivanshalashilin in #387
- Multi output by @ingmarschuster in #360
- Quick fix to remove duplicate file by @henrymoss in #395
- Add governance doc by @thomaspinder in #398
- Fix obs_noise confusion by @henrymoss in #400
Full Changelog: v0.7.0...v0.7.1