Releases: JaxGaussianProcesses/GPJax
v0.6.9
What's Changed
- Clarify docs by @thomaspinder in #353
- Support for missing values using masked dataset by @frazane in #340
- Bump
jax
andjaxlib
versions by @Thomas-Christie in #366 - Fix bug in zero mean function and add test by @Thomas-Christie in #358
Full Changelog: v0.6.8...v0.6.9
v0.6.8
What's Changed
- Decouple kernel computation class initialisation from kernel by @frazane in #328
- Update contribution documentation by @Thomas-Christie in #329
- Add introductory kernel notebook and change style file path in notebooks by @Thomas-Christie in #331
- Add BO notebook by @Thomas-Christie in #335
- Fixed Polar GP example by @trsav in #339
- Merge in main by @ingmarschuster in #346
- Precision check feature by @trsav in #347
- Fix objectives tests by @Thomas-Christie in #348
- Categorical kernel by @ingmarschuster in #345
New Contributors
- @Thomas-Christie made their first contribution in #329
- @trsav made their first contribution in #339
Full Changelog: v0.6.7...v0.6.8
v0.6.7
What's Changed
- Add integrator/likelihoods doc by @thomaspinder in #296
- Smoke testing by @thomaspinder in #307
- Docstring tester by @thomaspinder in #317
- changed schedule peak_value to 1e-2 for the svgp notebook so it does not give nans by @stefanosele in #324
- Bugfix in BasisFunctionComputation by @frazane in #326
New Contributors
- @stefanosele made their first contribution in #324
Full Changelog: v0.6.4...v0.6.7
v0.6.4
v0.6.3
What's Changed
- Static typing fixes by @frazane in #285
- WIP by @henrymoss in #289
- Abstract integrator by @thomaspinder in #283
Full Changelog: v0.6.2...v0.6.3
v0.6.2
What's Changed
- Fix latex rending + minor typos. by @daniel-dodd in #257
- Update gpu guide to point to JAX installation guide. by @daniel-dodd in #258
- Tiny doc improvement by @henrymoss in #264
- Autogen code by @thomaspinder in #265
- Update CI by @thomaspinder in #266
- Add sharp bits doc by @thomaspinder in #267
- Add isotropy test by @thomaspinder in #271
- Update sharp_bits.md by @st-- in #275
- Fix doc build by @thomaspinder in #281
- Bugfix powered_exponential.py by @ingmarschuster in #279
New Contributors
- @ingmarschuster made their first contribution in #279
Full Changelog: v0.6.1...v0.6.2
v0.6
What's Changed
- Rectify predictive interval in
examples/regression.pct.py
by @patel-zeel in #186 - typo fixes by @st-- in #187
- pyspelling by @st-- in #188
- Correct key handling in examples by @frazane in #191
- Jaxkern merge by @thomaspinder in #197
- Jaxlinop merge by @thomaspinder in #196
- Docs pytree by @thomaspinder in #211
- Cleanup by @thomaspinder in #205
- Update README by @thomaspinder in #220
- Rff sampler by @henrymoss in #195
- Add minimal pytree checks for linops. (Better testing needed in future). by @daniel-dodd in #222
- Add pytree tests for gps (tests still need improving). by @daniel-dodd in #223
- Add minimal pytree tests for variational (tests need improving). by @daniel-dodd in #224
- Add tests for kernels and likelihoods by @frazane in #225
- Add save/load fns by @thomaspinder in #228
- Spatial modelling example with decoupled sampling by @frazane in #234
- Introduce beartype & fix types by @st-- in #230
pre-commit
setup & code changes by @st-- in #241- Poisson likelihood by @frazane in #231
- Tidy up RFF and extra tests/formatting by @henrymoss in #243
- Arccosine kernel by @henrymoss in #245
- Add static field to base, update tests to run on 3.11, fix 3.11 compatibility by @daniel-dodd in #246
- Revamp docs by @thomaspinder in #233
- V0.6 by @thomaspinder in #212
New Contributors
- @henrymoss made their first contribution in #195
Full Changelog: v0.5.9...v0.6
v0.5.9
v0.5.8
Address bug fix StochasticVI
variational expectation. (@daniel-dodd).
v0.5.7
Overview:
- Removed
Chex
as a direct GPJax dependancy (@daniel-dodd). - Depreciated parameter initialisation (@daniel-dodd).
- Depreciated
gpjax.parameters
toJaxUtils.parameters
(@thomaspinder). - Depreciated
gpjax.config
toJaxUtils.config
(@daniel-dodd). - Deprecated
gpjax.utils
toJaxUtils.dict
(@daniel-dodd). - Addressed issues with documentation build and checks for new PRs (@thomaspinder).
Remove Chex
import and dataclasses
Issue: #157
Fixed: via #176, @daniel-dodd
Details:
Chex
has been removed in as a direct dependancy of GPJax
.
Note Distrax depends on Chex, so you still need the relevant version of Chex installed to use GPJax.
This means it is recommend that users no longer use Chex
's @dataclass
decorator, to define objects. Instead, we advise users inherit from abstract types provided in GPJax (e.g., AbstractGP
) or should inherit the JaxUtils.PyTree
module, to ensure their object is registered as a JAX PyTree.
This decision to remove Chex
was given to provide great flexibility of defining new classes, and mitigating pain points with class inheritance issues (resorting use to use mixin classes).
GPJax
's objects are no longer Chex.dataclasses
note the keyword only argument convention for initialising objects has been removed - users should be careful on the order of their inputs.
Parameter initialisation:
Issue: #172
Fixed: #178, @daniel-dodd
Details:
To initialise default parameters you should call/define init_param
instead of _initialise_params
. The latter is being depreciated and will be removed in v0.6
.
Example (1):
import jaxkern as jk
import gpjax as gpx
import jax.random as jr
prior = gpx.Prior(kernel = jk.RBF())
# OLD DO NOT USE:
key = jr.PRNGKey(123)
params = prior._initialise_params(key)
# NEW WAY:
key = jr.PRNGKey(123)
params = prior.init_params(key)
Example (2):
from gpjax.likelihoods import AbstractLikelihood
from jax.random import KeyArray
from typing import Dict
class Poisson(AbstractLikelihood):
# Define __init__, ect as usual.
def __init__(self, ...) -> None:
....
# Define your default params via the `init_params` method instead of the old `_initialise_params`
def init_params(self, key: KeyArray) -> Dict:
....
Documentation fix build and add checks
Issue: #170, #169
Fixed: #171 (@thomaspinder).
Details:
The docs now builds and checks are in place to ensure successful builds on new PRs made to the master branch.
Note the docs are currently built using a GitHub workflow, while unit tests are run via CircleCI workflows.