gpjax 0.13.1__tar.gz → 0.13.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gpjax-0.13.3/.github/FUNDING.yml +1 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/build_docs.yml +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/pr_greeting.yml +25 -2
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/release.yml +10 -10
- {gpjax-0.13.1 → gpjax-0.13.3}/PKG-INFO +12 -12
- {gpjax-0.13.1 → gpjax-0.13.3}/README.md +9 -9
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/GOVERNANCE.md +7 -9
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/contributing.md +12 -12
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/scripts/sharp_bits_figure.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/regression.py +13 -4
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/__init__.py +3 -3
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/dataset.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/fit.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/gps.py +197 -64
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/__init__.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/base.py +2 -2
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/computations/__init__.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/computations/base.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/computations/basis_functions.py +2 -4
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/computations/constant_diagonal.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/computations/dense.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/computations/diagonal.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/computations/eigen.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/non_euclidean/__init__.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/non_euclidean/graph.py +18 -6
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/non_euclidean/utils.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/nonstationary/__init__.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/nonstationary/arccosine.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/nonstationary/linear.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/nonstationary/polynomial.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/__init__.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/base.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/matern12.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/matern32.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/matern52.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/periodic.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/powered_exponential.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/rational_quadratic.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/rbf.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/utils.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/stationary/white.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/scan.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/mkdocs.yml +13 -3
- {gpjax-0.13.1 → gpjax-0.13.3}/pyproject.toml +2 -2
- {gpjax-0.13.1 → gpjax-0.13.3}/static/CONTRIBUTING.md +12 -12
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_dataset.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_fit.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_gps.py +159 -13
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_kernels/__init__.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_kernels/test_base.py +1 -1
- gpjax-0.13.3/tests/test_kernels/test_non_euclidean.py +115 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_kernels/test_nonstationary.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_kernels/test_stationary.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_kernels/test_utils.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_mean_functions.py +1 -1
- gpjax-0.13.1/tests/test_kernels/test_non_euclidean.py +0 -50
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/CODE_OF_CONDUCT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/ISSUE_TEMPLATE/01_BUG_REPORT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/ISSUE_TEMPLATE/02_FEATURE_REQUEST.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/ISSUE_TEMPLATE/03_CODEBASE_IMPROVEMENT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/ISSUE_TEMPLATE/04_DOCS_IMPROVEMENT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/codecov.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/commitlint.config.js +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/dependabot.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/labeler.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/labels.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/pull_request_template.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/release-drafter.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/auto-label.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/commit-lint.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/integration.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/ruff.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/security-analysis.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/test_docs.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.github/workflows/tests.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/.gitignore +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/CITATION.bib +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/LICENSE.txt +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/Makefile +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/CODE_OF_CONDUCT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/design.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/index.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/index.rst +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/installation.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/javascripts/katex.js +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/refs.bib +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/scripts/gen_examples.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/scripts/gen_pages.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/scripts/notebook_converter.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/sharp_bits.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/GP.pdf +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/GP.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/bijector_figure.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/css/gpjax_theme.css +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/favicon.ico +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/gpjax.mplstyle +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/gpjax_logo.pdf +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/gpjax_logo.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/jaxkern/lato.ttf +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/jaxkern/logo.png +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/jaxkern/logo.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/jaxkern/main.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/step_size_figure.png +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/static/step_size_figure.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/stylesheets/extra.css +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/docs/stylesheets/permalinks.css +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/backend.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/barycentres/barycentre_gp.gif +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/barycentres.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/classification.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/collapsed_vi.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/constructing_new_kernels.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/data/max_tempeature_switzerland.csv +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/data/yacht_hydrodynamics.data +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/deep_kernels.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/gpjax.mplstyle +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/graph_kernels.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/intro_to_gps/decomposed_mll.png +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/intro_to_gps/generating_process.png +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/intro_to_gps.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/intro_to_kernels.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/likelihoods_guide.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/oceanmodelling.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/poisson.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/uncollapsed_vi.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/utils.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/examples/yacht.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/citation.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/distributions.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/integrators.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/approximations/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/kernels/approximations/rff.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/likelihoods.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/linalg/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/linalg/operations.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/linalg/operators.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/linalg/utils.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/mean_functions.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/numpyro_extras.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/objectives.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/parameters.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/typing.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/gpjax/variational_families.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/static/paper.bib +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/static/paper.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/static/paper.pdf +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/conftest.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/integration_tests.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_citations.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_gaussian_distribution.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_imports.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_integrators.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_kernels/test_approximations.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_kernels/test_computation.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_likelihoods.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_linalg.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_markdown.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_numpyro_extras.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_objectives.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_parameters.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/tests/test_variational_families.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.3}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
github: [thomaspinder]
|
|
@@ -14,7 +14,30 @@ jobs:
|
|
|
14
14
|
- uses: actions/first-interaction@v3.1.0
|
|
15
15
|
with:
|
|
16
16
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
17
|
-
|
|
17
|
+
issue_message: |
|
|
18
|
+
Thank you for opening your first issue into GPJax!
|
|
19
|
+
|
|
20
|
+
If you have not heard from us in a while, please feel free to ping
|
|
21
|
+
`@gpjax/developers` or anyone who has commented on the PR.
|
|
22
|
+
Most of our reviewers are volunteers and sometimes things fall
|
|
23
|
+
through the cracks.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
You can also join us [on
|
|
27
|
+
Slack](https://join.slack.com/t/gpjax/shared_invite/zt-1da57pmjn-rdBCVg9kApirEEn2E5Q2Zw) for real-time
|
|
28
|
+
discussion.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
For details on testing, writing docs, and our review process,
|
|
32
|
+
please see [the developer
|
|
33
|
+
guide](https://docs.jaxgaussianprocesses.com/contributing/)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
We strive to be a welcoming and open project. Please follow our
|
|
37
|
+
[Code of
|
|
38
|
+
Conduct](https://github.com/thomaspinder/GPJax/blob/main/.github/CODE_OF_CONDUCT.md).
|
|
39
|
+
|
|
40
|
+
pr_message: |
|
|
18
41
|
Thank you for opening your first PR into GPJax!
|
|
19
42
|
|
|
20
43
|
|
|
@@ -36,4 +59,4 @@ jobs:
|
|
|
36
59
|
|
|
37
60
|
We strive to be a welcoming and open project. Please follow our
|
|
38
61
|
[Code of
|
|
39
|
-
Conduct](https://github.com/
|
|
62
|
+
Conduct](https://github.com/thomaspinder/GPJax/blob/main/.github/CODE_OF_CONDUCT.md).
|
|
@@ -3,22 +3,22 @@ name: "Release Automation"
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
tags:
|
|
6
|
-
-
|
|
6
|
+
- "v*"
|
|
7
7
|
workflow_dispatch:
|
|
8
8
|
inputs:
|
|
9
9
|
version:
|
|
10
|
-
description:
|
|
10
|
+
description: "Version to release (e.g., v0.6.0)"
|
|
11
11
|
required: true
|
|
12
12
|
type: string
|
|
13
13
|
draft:
|
|
14
|
-
description:
|
|
14
|
+
description: "Create draft release"
|
|
15
15
|
required: false
|
|
16
16
|
default: false
|
|
17
17
|
type: boolean
|
|
18
18
|
|
|
19
19
|
permissions:
|
|
20
20
|
contents: write
|
|
21
|
-
id-token: write
|
|
21
|
+
id-token: write # For PyPI trusted publishing
|
|
22
22
|
|
|
23
23
|
jobs:
|
|
24
24
|
validate-release:
|
|
@@ -60,13 +60,13 @@ jobs:
|
|
|
60
60
|
fail-fast: false
|
|
61
61
|
matrix:
|
|
62
62
|
os: [ubuntu-latest, macos-latest]
|
|
63
|
-
python-version: [
|
|
63
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
64
64
|
exclude:
|
|
65
65
|
# Reduce matrix size - test all Python versions on Ubuntu, subset on others
|
|
66
66
|
- os: macos-latest
|
|
67
|
-
python-version:
|
|
67
|
+
python-version: "3.11"
|
|
68
68
|
- os: macos-latest
|
|
69
|
-
python-version:
|
|
69
|
+
python-version: "3.12"
|
|
70
70
|
|
|
71
71
|
runs-on: ${{ matrix.os }}
|
|
72
72
|
|
|
@@ -113,7 +113,7 @@ jobs:
|
|
|
113
113
|
- name: Set up Python
|
|
114
114
|
uses: actions/setup-python@v6
|
|
115
115
|
with:
|
|
116
|
-
python-version:
|
|
116
|
+
python-version: "3.11"
|
|
117
117
|
|
|
118
118
|
- name: Install uv
|
|
119
119
|
uses: astral-sh/setup-uv@v7
|
|
@@ -151,7 +151,7 @@ jobs:
|
|
|
151
151
|
- name: Set up Python
|
|
152
152
|
uses: actions/setup-python@v6
|
|
153
153
|
with:
|
|
154
|
-
python-version:
|
|
154
|
+
python-version: "3.11"
|
|
155
155
|
|
|
156
156
|
- name: Install uv
|
|
157
157
|
uses: astral-sh/setup-uv@v7
|
|
@@ -246,7 +246,7 @@ jobs:
|
|
|
246
246
|
CHANGELOG="$CHANGELOG- Model validation results available in CI artifacts\n\n"
|
|
247
247
|
|
|
248
248
|
CHANGELOG="$CHANGELOG### 🔍 What's Changed\n"
|
|
249
|
-
CHANGELOG="$CHANGELOG- Full diff: https://github.com/
|
|
249
|
+
CHANGELOG="$CHANGELOG- Full diff: https://github.com/thomaspinder/GPJax/compare/$PREVIOUS_TAG...$CURRENT_TAG\n\n"
|
|
250
250
|
|
|
251
251
|
# Escape for GitHub output
|
|
252
252
|
EOF_MARKER=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gpjax
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.3
|
|
4
4
|
Summary: Gaussian processes in JAX.
|
|
5
5
|
Project-URL: Documentation, https://docs.jaxgaussianprocesses.com/
|
|
6
|
-
Project-URL: Issues, https://github.com/
|
|
7
|
-
Project-URL: Source, https://github.com/
|
|
6
|
+
Project-URL: Issues, https://github.com/thomaspinder/GPJax/issues
|
|
7
|
+
Project-URL: Source, https://github.com/thomaspinder/GPJax
|
|
8
8
|
Author-email: Thomas Pinder <tompinder@live.co.uk>
|
|
9
9
|
License: MIT
|
|
10
10
|
License-File: LICENSE.txt
|
|
@@ -72,11 +72,11 @@ Description-Content-Type: text/markdown
|
|
|
72
72
|
<!-- <h1 align='center'>GPJax</h1>
|
|
73
73
|
<h2 align='center'>Gaussian processes in Jax.</h2> -->
|
|
74
74
|
<p align="center">
|
|
75
|
-
<img width="700" height="300" src="https://raw.githubusercontent.com/
|
|
75
|
+
<img width="700" height="300" src="https://raw.githubusercontent.com/thomaspinder/GPJax/main/docs/static/gpjax_logo.svg" alt="GPJax's logo">
|
|
76
76
|
</p>
|
|
77
77
|
|
|
78
|
-
[](https://codecov.io/gh/thomaspinder/GPJax)
|
|
79
|
+
[](https://www.codefactor.io/repository/github/thomaspinder/GPJax)
|
|
80
80
|
[](https://app.netlify.com/sites/endearing-crepe-c2d5fe/deploys)
|
|
81
81
|
[](https://badge.fury.io/py/GPJax)
|
|
82
82
|
[](https://anaconda.org/conda-forge/gpjax)
|
|
@@ -101,19 +101,19 @@ with GP models.
|
|
|
101
101
|
|
|
102
102
|
We would be delighted to receive contributions from interested individuals and
|
|
103
103
|
groups. To learn how you can get involved, please read our [guide for
|
|
104
|
-
contributing](https://github.com/
|
|
104
|
+
contributing](https://github.com/thomaspinder/GPJax/blob/main/docs/contributing.md).
|
|
105
105
|
If you have any questions, we encourage you to [open an
|
|
106
|
-
issue](https://github.com/
|
|
106
|
+
issue](https://github.com/thomaspinder/GPJax/issues/new/choose). For
|
|
107
107
|
broader conversations, such as best GP fitting practices or questions about the
|
|
108
108
|
mathematics of GPs, we invite you to [open a
|
|
109
|
-
discussion](https://github.com/
|
|
109
|
+
discussion](https://github.com/thomaspinder/GPJax/discussions).
|
|
110
110
|
|
|
111
111
|
Another way you can contribute to GPJax is through [issue
|
|
112
112
|
triaging](https://www.codetriage.com/what). This can include reproducing bug reports,
|
|
113
113
|
asking for vital information such as version numbers and reproduction instructions, or
|
|
114
114
|
identifying stale issues. If you would like to begin triaging issues, an easy way to get
|
|
115
115
|
started is to
|
|
116
|
-
[subscribe to GPJax on CodeTriage](https://www.codetriage.com/
|
|
116
|
+
[subscribe to GPJax on CodeTriage](https://www.codetriage.com/thomaspinder/GPJax).
|
|
117
117
|
|
|
118
118
|
As a contributor to GPJax, you are expected to abide by our [code of
|
|
119
119
|
conduct](docs/CODE_OF_CONDUCT.md). If you feel that you have either experienced or
|
|
@@ -127,7 +127,7 @@ where we can discuss the development of GPJax and broader support for Gaussian
|
|
|
127
127
|
process modelling.
|
|
128
128
|
|
|
129
129
|
We appreciate all [the contributors to
|
|
130
|
-
GPJax](https://github.com/
|
|
130
|
+
GPJax](https://github.com/thomaspinder/GPJax/graphs/contributors) who have helped to shape
|
|
131
131
|
GPJax into the package it is today.
|
|
132
132
|
|
|
133
133
|
# Supported methods and interfaces
|
|
@@ -215,7 +215,7 @@ conda install --channel conda-forge gpjax
|
|
|
215
215
|
Clone a copy of the repository to your local machine and run the setup
|
|
216
216
|
configuration in development mode.
|
|
217
217
|
```bash
|
|
218
|
-
git clone https://github.com/
|
|
218
|
+
git clone https://github.com/thomaspinder/GPJax.git
|
|
219
219
|
cd GPJax
|
|
220
220
|
uv venv
|
|
221
221
|
uv sync --extra dev
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<!-- <h1 align='center'>GPJax</h1>
|
|
2
2
|
<h2 align='center'>Gaussian processes in Jax.</h2> -->
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img width="700" height="300" src="https://raw.githubusercontent.com/
|
|
4
|
+
<img width="700" height="300" src="https://raw.githubusercontent.com/thomaspinder/GPJax/main/docs/static/gpjax_logo.svg" alt="GPJax's logo">
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
[](https://codecov.io/gh/thomaspinder/GPJax)
|
|
8
|
+
[](https://www.codefactor.io/repository/github/thomaspinder/GPJax)
|
|
9
9
|
[](https://app.netlify.com/sites/endearing-crepe-c2d5fe/deploys)
|
|
10
10
|
[](https://badge.fury.io/py/GPJax)
|
|
11
11
|
[](https://anaconda.org/conda-forge/gpjax)
|
|
@@ -30,19 +30,19 @@ with GP models.
|
|
|
30
30
|
|
|
31
31
|
We would be delighted to receive contributions from interested individuals and
|
|
32
32
|
groups. To learn how you can get involved, please read our [guide for
|
|
33
|
-
contributing](https://github.com/
|
|
33
|
+
contributing](https://github.com/thomaspinder/GPJax/blob/main/docs/contributing.md).
|
|
34
34
|
If you have any questions, we encourage you to [open an
|
|
35
|
-
issue](https://github.com/
|
|
35
|
+
issue](https://github.com/thomaspinder/GPJax/issues/new/choose). For
|
|
36
36
|
broader conversations, such as best GP fitting practices or questions about the
|
|
37
37
|
mathematics of GPs, we invite you to [open a
|
|
38
|
-
discussion](https://github.com/
|
|
38
|
+
discussion](https://github.com/thomaspinder/GPJax/discussions).
|
|
39
39
|
|
|
40
40
|
Another way you can contribute to GPJax is through [issue
|
|
41
41
|
triaging](https://www.codetriage.com/what). This can include reproducing bug reports,
|
|
42
42
|
asking for vital information such as version numbers and reproduction instructions, or
|
|
43
43
|
identifying stale issues. If you would like to begin triaging issues, an easy way to get
|
|
44
44
|
started is to
|
|
45
|
-
[subscribe to GPJax on CodeTriage](https://www.codetriage.com/
|
|
45
|
+
[subscribe to GPJax on CodeTriage](https://www.codetriage.com/thomaspinder/GPJax).
|
|
46
46
|
|
|
47
47
|
As a contributor to GPJax, you are expected to abide by our [code of
|
|
48
48
|
conduct](docs/CODE_OF_CONDUCT.md). If you feel that you have either experienced or
|
|
@@ -56,7 +56,7 @@ where we can discuss the development of GPJax and broader support for Gaussian
|
|
|
56
56
|
process modelling.
|
|
57
57
|
|
|
58
58
|
We appreciate all [the contributors to
|
|
59
|
-
GPJax](https://github.com/
|
|
59
|
+
GPJax](https://github.com/thomaspinder/GPJax/graphs/contributors) who have helped to shape
|
|
60
60
|
GPJax into the package it is today.
|
|
61
61
|
|
|
62
62
|
# Supported methods and interfaces
|
|
@@ -144,7 +144,7 @@ conda install --channel conda-forge gpjax
|
|
|
144
144
|
Clone a copy of the repository to your local machine and run the setup
|
|
145
145
|
configuration in development mode.
|
|
146
146
|
```bash
|
|
147
|
-
git clone https://github.com/
|
|
147
|
+
git clone https://github.com/thomaspinder/GPJax.git
|
|
148
148
|
cd GPJax
|
|
149
149
|
uv venv
|
|
150
150
|
uv sync --extra dev
|
|
@@ -14,23 +14,21 @@ following the BDFL model of governance. We have since moved to the governance mo
|
|
|
14
14
|
[Specialty
|
|
15
15
|
Library](https://github.com/OpenTechStrategies/open-source-archetypes/blob/main/arch-specialty-library.ltx)
|
|
16
16
|
and benefited from a community of
|
|
17
|
-
[contributors](https://github.com/
|
|
17
|
+
[contributors](https://github.com/thomaspinder/GPJax/graphs/contributors). This
|
|
18
18
|
document outlines the governance structure for the current status.
|
|
19
19
|
|
|
20
20
|
## Roles
|
|
21
21
|
* Contributors: Anyone who contributes to GPJAx is considered a contributor. This
|
|
22
22
|
includes submitting code, filing issues, reviewing pull requests, and participating in
|
|
23
23
|
discussions. They are listed under:
|
|
24
|
-
* [https://github.com/
|
|
24
|
+
* [https://github.com/thomaspinder/GPJax/graphs/contributors](https://github.com/thomaspinder/GPJax/graphs/contributors)
|
|
25
25
|
* Core contributors: Core contributors are contributors who have made significant
|
|
26
26
|
contributions to the GPJax project, for example large modules or functionality.
|
|
27
|
-
* GPJax gardeners: Gardeners are core
|
|
28
|
-
the project and making decisions about its future direction. GPJax
|
|
27
|
+
* GPJax gardeners: Gardeners are core contributor(s) who are responsible for maintaining
|
|
28
|
+
the project and making decisions about its future direction. A GPJax gardener(s) has the
|
|
29
29
|
ability to merge pull requests into the GPJax repository. GPJax gardeners also take on
|
|
30
30
|
administrative tasks such as website maintenance.
|
|
31
|
-
* Currently
|
|
32
|
-
[henrymoss@](https://github.com/henrymoss), [st--@](https://github.com/st--), and
|
|
33
|
-
[thomaspinder@](https://github.com/thomaspinder) are the gardeners of GPJax.
|
|
31
|
+
* Currently [thomaspinder@](https://github.com/thomaspinder) is the gardener of GPJax.
|
|
34
32
|
|
|
35
33
|
## Responsibility
|
|
36
34
|
We cannot hold anyone responsible really since we are all doing free work here, but some
|
|
@@ -67,12 +65,12 @@ the project for core contributors.
|
|
|
67
65
|
Anyone is welcome to contribute to the GPJax project. Contributions can be made in the
|
|
68
66
|
form of code, documentation, or other forms of support. To learn more about how to
|
|
69
67
|
contribute, please see the [contributing
|
|
70
|
-
guide](https://github.com/
|
|
68
|
+
guide](https://github.com/thomaspinder/GPJax/blob/main/static/CONTRIBUTING.md).
|
|
71
69
|
|
|
72
70
|
|
|
73
71
|
## Code of conduct
|
|
74
72
|
All contributors to the GPJax project are expected to follow the project's [code of
|
|
75
|
-
conduct](https://github.com/
|
|
73
|
+
conduct](https://github.com/thomaspinder/GPJax/blob/main/.github/CODE_OF_CONDUCT.md).
|
|
76
74
|
The code of conduct outlines the expected behavior of contributors and helps to ensure a
|
|
77
75
|
welcoming and productive environment for all.
|
|
78
76
|
|
|
@@ -6,38 +6,38 @@ GPJax welcomes contributions from interested individuals or groups. There are
|
|
|
6
6
|
many ways to contribute, including:
|
|
7
7
|
|
|
8
8
|
- Answering questions on our [discussions
|
|
9
|
-
page](https://github.com/
|
|
10
|
-
- Raising [issues](https://github.com/
|
|
9
|
+
page](https://github.com/thomaspinder/GPJax/discussions).
|
|
10
|
+
- Raising [issues](https://github.com/thomaspinder/GPJax/issues) related to bugs
|
|
11
11
|
or desired enhancements.
|
|
12
12
|
- Contributing or improving the
|
|
13
|
-
[docs](https://github.com/
|
|
14
|
-
[examples](https://github.com/
|
|
15
|
-
- Fixing outstanding [issues](https://github.com/
|
|
13
|
+
[docs](https://github.com/thomaspinder/GPJax/tree/main/docs) or
|
|
14
|
+
[examples](https://github.com/thomaspinder/GPJax/tree/master/docs/nbs).
|
|
15
|
+
- Fixing outstanding [issues](https://github.com/thomaspinder/GPJax/issues)
|
|
16
16
|
(bugs).
|
|
17
|
-
- Extending or improving our [codebase](https://github.com/
|
|
17
|
+
- Extending or improving our [codebase](https://github.com/thomaspinder/GPJax).
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
## Code of conduct
|
|
21
21
|
|
|
22
22
|
As a contributor to GPJax, you can help us keep the community open and
|
|
23
23
|
inclusive. Please read and follow our [Code of
|
|
24
|
-
Conduct](https://github.com/
|
|
24
|
+
Conduct](https://github.com/thomaspinder/GPJax/blob/master/.github/CODE_OF_CONDUCT.md).
|
|
25
25
|
|
|
26
26
|
## Opening issues and getting support
|
|
27
27
|
|
|
28
28
|
Please open issues on [Github Issue
|
|
29
|
-
Tracker](https://github.com/
|
|
29
|
+
Tracker](https://github.com/thomaspinder/GPJax/issues/new/choose). Here you can
|
|
30
30
|
mention
|
|
31
31
|
|
|
32
32
|
You can ask a question or start a discussion in the [Discussion
|
|
33
|
-
section](https://github.com/
|
|
33
|
+
section](https://github.com/thomaspinder/GPJax/discussions) on Github.
|
|
34
34
|
|
|
35
35
|
## Contributing to the source code
|
|
36
36
|
|
|
37
37
|
Submitting code contributions to GPJax is done via a [GitHub pull
|
|
38
38
|
request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).
|
|
39
39
|
Our preferred workflow is to first fork the [GitHub
|
|
40
|
-
repository](https://github.com/
|
|
40
|
+
repository](https://github.com/thomaspinder/GPJax), clone it to your local
|
|
41
41
|
machine, and develop on a _feature branch_. Once you're happy with your changes,
|
|
42
42
|
install our `pre-commit hooks`, `commit` and `push` your code.
|
|
43
43
|
|
|
@@ -51,9 +51,9 @@ you through every detail!
|
|
|
51
51
|
|
|
52
52
|
### Step-by-step guide:
|
|
53
53
|
|
|
54
|
-
1. Click [here](https://github.com/
|
|
54
|
+
1. Click [here](https://github.com/thomaspinder/GPJax/fork) to Fork GPJax's
|
|
55
55
|
codebase (alternatively, click the 'Fork' button towards the top right of
|
|
56
|
-
the [main repository page](https://github.com/
|
|
56
|
+
the [main repository page](https://github.com/thomaspinder/GPJax)). This
|
|
57
57
|
adds a copy of the codebase to your GitHub user account.
|
|
58
58
|
|
|
59
59
|
2. Clone your GPJax fork from your GitHub account to your local disk, and add
|
|
@@ -21,7 +21,7 @@ import matplotlib as mpl
|
|
|
21
21
|
from matplotlib import patches
|
|
22
22
|
|
|
23
23
|
plt.style.use(
|
|
24
|
-
"https://raw.githubusercontent.com/
|
|
24
|
+
"https://raw.githubusercontent.com/thomaspinder/GPJax/refs/heads/main/examples/gpjax.mplstyle"
|
|
25
25
|
)
|
|
26
26
|
cols = mpl.rcParams["axes.prop_cycle"].by_key()["color"]
|
|
27
27
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# extension: .py
|
|
8
8
|
# format_name: percent
|
|
9
9
|
# format_version: '1.3'
|
|
10
|
-
# jupytext_version: 1.
|
|
10
|
+
# jupytext_version: 1.17.3
|
|
11
11
|
# kernelspec:
|
|
12
12
|
# display_name: .venv
|
|
13
13
|
# language: python
|
|
@@ -121,10 +121,15 @@ prior = gpx.gps.Prior(mean_function=meanf, kernel=kernel)
|
|
|
121
121
|
# we have just defined can be represented by a
|
|
122
122
|
# [TensorFlow Probability](https://www.tensorflow.org/probability/api_docs/python/tfp/substrates/jax)
|
|
123
123
|
# multivariate Gaussian distribution. Such functionality enables trivial sampling, and
|
|
124
|
-
# the evaluation of the GP's mean and covariance
|
|
124
|
+
# the evaluation of the GP's mean and covariance.
|
|
125
|
+
#
|
|
126
|
+
# Since we want to sample from the full posterior, we need to calculate the full covariance matrix.
|
|
127
|
+
# We can enforce this by including the `return_covariance_type = "dense"` attribute when predicting.
|
|
128
|
+
# Note this is what will be defaulted if left blank.
|
|
125
129
|
|
|
126
130
|
# %%
|
|
127
|
-
|
|
131
|
+
# %% [markdown]
|
|
132
|
+
prior_dist = prior.predict(xtest, return_covariance_type="dense")
|
|
128
133
|
|
|
129
134
|
prior_mean = prior_dist.mean
|
|
130
135
|
prior_std = prior_dist.variance
|
|
@@ -212,9 +217,13 @@ print(-gpx.objectives.conjugate_mll(opt_posterior, D))
|
|
|
212
217
|
# this, we use our defined `posterior` and `likelihood` at our test inputs to obtain
|
|
213
218
|
# the predictive distribution as a `Distrax` multivariate Gaussian upon which `mean`
|
|
214
219
|
# and `stddev` can be used to extract the predictive mean and standard deviatation.
|
|
220
|
+
#
|
|
221
|
+
# We are only concerned here about the variance between the test points and themselves, so
|
|
222
|
+
# we can just copute the diagonal version of the covariance. We enforce this by using
|
|
223
|
+
# `return_covariance_type = "diagonal"` in the `predict` call.
|
|
215
224
|
|
|
216
225
|
# %%
|
|
217
|
-
latent_dist = opt_posterior.predict(xtest, train_data=D)
|
|
226
|
+
latent_dist = opt_posterior.predict(xtest, train_data=D, return_covariance_type="diagonal")
|
|
218
227
|
predictive_dist = opt_posterior.likelihood(latent_dist)
|
|
219
228
|
|
|
220
229
|
predictive_mean = predictive_dist.mean
|
|
@@ -38,9 +38,9 @@ from gpjax.fit import (
|
|
|
38
38
|
|
|
39
39
|
__license__ = "MIT"
|
|
40
40
|
__description__ = "Gaussian processes in JAX and Flax"
|
|
41
|
-
__url__ = "https://github.com/
|
|
42
|
-
__contributors__ = "https://github.com/
|
|
43
|
-
__version__ = "0.13.
|
|
41
|
+
__url__ = "https://github.com/thomaspinder/GPJax"
|
|
42
|
+
__contributors__ = "https://github.com/thomaspinder/GPJax/graphs/contributors"
|
|
43
|
+
__version__ = "0.13.3"
|
|
44
44
|
|
|
45
45
|
__all__ = [
|
|
46
46
|
"gps",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2022 The
|
|
1
|
+
# Copyright 2022 The thomaspinder Contributors. All Rights Reserved.
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2023 The
|
|
1
|
+
# Copyright 2023 The thomaspinder Contributors. All Rights Reserved.
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|