Skip to content

Commit b681bfa

Browse files
authored
Merge pull request #652 from alan-turing-institute/646-rename-emulators
Rename experimental Gaussian Process emulators (#646)
2 parents 25257a5 + c450962 commit b681bfa

20 files changed

+88
-94
lines changed

autoemulate/experimental/emulators/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from .base import Emulator
22
from .ensemble import EnsembleMLP, EnsembleMLPDropout
3-
from .gaussian_process.exact import GaussianProcessExact, GaussianProcessExactCorrelated
3+
from .gaussian_process.exact import GaussianProcess, GaussianProcessCorrelated
44
from .lightgbm import LightGBM
55

66
# from .neural_processes.conditional_neural_process import CNPModule
@@ -11,8 +11,8 @@
1111
from .transformed.base import TransformedEmulator
1212

1313
ALL_EMULATORS: list[type[Emulator]] = [
14-
GaussianProcessExact,
15-
GaussianProcessExactCorrelated,
14+
GaussianProcess,
15+
GaussianProcessCorrelated,
1616
LightGBM,
1717
# CNPModule,
1818
SupportVectorMachine,
@@ -57,8 +57,8 @@ def get_emulator_class(name: str) -> type[Emulator]:
5757
"MLP",
5858
"EnsembleMLP",
5959
"EnsembleMLPDropout",
60-
"GaussianProcessExact",
61-
"GaussianProcessExactCorrelated",
60+
"GaussianProcess",
61+
"GaussianProcessCorrelated",
6262
"LightGBM",
6363
"RadialBasisFunctions",
6464
"RandomForest",

autoemulate/experimental/emulators/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ def model_name(cls) -> str:
7272
def short_name(cls) -> str:
7373
"""
7474
Take the capital letters of the class name and return them as a lower case
75-
string. For example, if the class name is `GaussianProcessExact`, this will
76-
return `gpe`.
75+
string. For example, if the class name is `GaussianProcess`, this will return
76+
`gp`.
7777
"""
7878
return "".join([c for c in cls.__name__ if c.isupper()]).lower()
7979

autoemulate/experimental/emulators/gaussian_process/exact.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
from .mean import constant_mean, linear_mean, poly_mean, zero_mean
4242

4343

44-
class GaussianProcessExact(GaussianProcessEmulator, gpytorch.models.ExactGP):
44+
class GaussianProcess(GaussianProcessEmulator, gpytorch.models.ExactGP):
4545
"""
4646
Gaussian Process Exact Emulator
4747
@@ -75,7 +75,7 @@ def __init__( # noqa: PLR0913 allow too many arguments since all currently requ
7575
**kwargs,
7676
):
7777
"""
78-
Initialize the GaussianProcessExact emulator.
78+
Initialize the GaussianProcess emulator.
7979
8080
Parameters
8181
----------
@@ -274,7 +274,7 @@ def _predict(self, x: TensorLike, with_grad: bool):
274274

275275
@staticmethod
276276
def get_tune_config():
277-
scheduler_config = GaussianProcessExact.scheduler_config()
277+
scheduler_config = GaussianProcess.scheduler_config()
278278
return {
279279
"mean_module_fn": [
280280
constant_mean,
@@ -300,11 +300,11 @@ def get_tune_config():
300300
}
301301

302302

303-
class GaussianProcessExactCorrelated(GaussianProcessExact):
303+
class GaussianProcessCorrelated(GaussianProcess):
304304
"""
305305
Multioutput exact GP implementation with correlated task covariance.
306306
307-
This class extends the `GaussianProcessExact` to support correlated task covariance
307+
This class extends the `GaussianProcess` to support correlated task covariance
308308
by using a `MultitaskKernel` with a rank-1 covariance factor and a `MultitaskMean`
309309
for the mean function.
310310
@@ -331,7 +331,7 @@ def __init__( # noqa: PLR0913 allow too many arguments since all currently requ
331331
**kwargs,
332332
):
333333
"""
334-
Initialize the GaussianProcessExactCorrelated emulator.
334+
Initialize the GaussianProcessCorrelated emulator.
335335
336336
Parameters
337337
----------

autoemulate/experimental/exploratory/compare_transforms.ipynb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
"cells": [
33
{
44
"cell_type": "code",
5-
"execution_count": 1,
5+
"execution_count": null,
66
"id": "702bb87d",
77
"metadata": {},
88
"outputs": [],
99
"source": [
1010
"import torch\n",
11-
"from autoemulate.experimental.emulators import GaussianProcessExact\n",
11+
"from autoemulate.experimental.emulators import GaussianProcess\n",
1212
"from autoemulate.experimental.emulators.random_forest import RandomForest\n",
1313
"from autoemulate.experimental.emulators.transformed.base import TransformedEmulator\n",
1414
"from autoemulate.experimental.transforms import PCATransform, VAETransform, StandardizeTransform\n",
@@ -52,15 +52,15 @@
5252
},
5353
{
5454
"cell_type": "code",
55-
"execution_count": 2,
55+
"execution_count": null,
5656
"id": "d67372dd",
5757
"metadata": {},
5858
"outputs": [],
5959
"source": [
6060
"ae = AutoEmulate(\n",
6161
" x,\n",
6262
" y,\n",
63-
" models=[GaussianProcessExact, RandomForest],\n",
63+
" models=[GaussianProcess, RandomForest],\n",
6464
" x_transforms_list=[[], [StandardizeTransform(), PCATransform(n_components=5)]],\n",
6565
" y_transforms_list=[[], [StandardizeTransform(), PCATransform(n_components=1)]]\n",
6666
")\n"

autoemulate/experimental/exploratory/hmc_refactor.ipynb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
"import torch\n",
1717
"\n",
1818
"from autoemulate.experimental.simulations.projectile import Projectile, ProjectileMultioutput\n",
19-
"from autoemulate.experimental.emulators.gaussian_process.exact import (\n",
20-
" GaussianProcessExact,\n",
21-
")"
19+
"from autoemulate.experimental.emulators import GaussianProcess"
2220
]
2321
},
2422
{
@@ -38,7 +36,7 @@
3836
"metadata": {},
3937
"outputs": [],
4038
"source": [
41-
"gp = GaussianProcessExact(x, y)\n",
39+
"gp = GaussianProcess(x, y)\n",
4240
"gp.fit(x, y)"
4341
]
4442
},

autoemulate/experimental/exploratory/transforms.ipynb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"outputs": [],
99
"source": [
1010
"import torch\n",
11-
"from autoemulate.experimental.emulators import GaussianProcessExact\n",
11+
"from autoemulate.experimental.emulators import GaussianProcess\n",
1212
"from autoemulate.experimental.emulators.random_forest import RandomForest\n",
1313
"from autoemulate.experimental.emulators.transformed.base import TransformedEmulator\n",
1414
"from autoemulate.experimental.transforms import PCATransform, VAETransform, StandardizeTransform\n",
@@ -85,7 +85,7 @@
8585
" y=y,\n",
8686
" x_transforms=[PCATransform(n_components=4), VAETransform(latent_dim=2)],\n",
8787
" y_transforms=[StandardizeTransform(), PCATransform(n_components=1)],\n",
88-
" model=GaussianProcessExact,\n",
88+
" model=GaussianProcess,\n",
8989
" epochs=100,\n",
9090
")"
9191
]
@@ -143,7 +143,7 @@
143143
"from autoemulate.experimental.model_selection import r2_metric\n",
144144
"\n",
145145
"\n",
146-
"for model in [GaussianProcessExact, RandomForest]:\n",
146+
"for model in [GaussianProcess, RandomForest]:\n",
147147
" # Create transformed emulator with GP\n",
148148
" emulator = TransformedEmulator(\n",
149149
" x=x,\n",
@@ -223,7 +223,7 @@
223223
" x, y = make_data(n_targets=5, n_samples=200)\n",
224224
" t.fit(y)\n",
225225
" z = t(y)\n",
226-
" gp = GaussianProcessExact(x, z, standardize_x=True, standardize_y=True)\n",
226+
" gp = GaussianProcess(x, z, standardize_x=True, standardize_y=True)\n",
227227
" gp.fit(x, z)\n",
228228
" z_pred = gp.predict(x[: x.shape[0] // 2])\n",
229229
" assert isinstance(z_pred, GaussianLike)\n",
@@ -282,7 +282,7 @@
282282
" y=y,\n",
283283
" y_transforms=[t],\n",
284284
" x_transforms=[],\n",
285-
" model=GaussianProcessExact,\n",
285+
" model=GaussianProcess,\n",
286286
" epochs=50,\n",
287287
" n_samples=n_samples,\n",
288288
" full_covariance=True,\n",
@@ -324,7 +324,7 @@
324324
" y=y,\n",
325325
" x_transforms=[StandardizeTransform()],\n",
326326
" y_transforms=[StandardizeTransform(), t],\n",
327-
" model=GaussianProcessExact,\n",
327+
" model=GaussianProcess,\n",
328328
" epochs=50,\n",
329329
" n_samples=n_samples,\n",
330330
" full_covariance=True,\n",

docs/experimental/tutorials/emulation/03_reaction_diffusion_experimental.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@
148148
"metadata": {},
149149
"outputs": [],
150150
"source": [
151-
"from autoemulate.experimental.emulators.gaussian_process.exact import GaussianProcessExact\n",
151+
"from autoemulate.experimental.emulators.gaussian_process.exact import GaussianProcess\n",
152152
"from autoemulate.experimental.emulators.gaussian_process.kernel import rbf_plus_constant\n",
153153
"from autoemulate.experimental.emulators.gaussian_process.mean import constant_mean\n",
154154
"from autoemulate.experimental.emulators.transformed.base import TransformedEmulator\n",
@@ -162,7 +162,7 @@
162162
"em = TransformedEmulator(\n",
163163
" x,\n",
164164
" y,\n",
165-
" model= GaussianProcessExact,\n",
165+
" model= GaussianProcess,\n",
166166
" x_transforms=[StandardizeTransform()],\n",
167167
" y_transforms=[\n",
168168
" StandardizeTransform(),\n",

docs/experimental/tutorials/simulator/02_active_learning.ipynb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
"# Import core classes from the source code.\n",
7070
"from autoemulate.experimental.learners import stream\n",
7171
"from autoemulate.experimental.simulations.base import Simulator\n",
72-
"from autoemulate.experimental.emulators.gaussian_process.exact import GaussianProcessExact\n",
72+
"from autoemulate.experimental.emulators import GaussianProcess\n",
7373
"from autoemulate.experimental.types import GaussianLike\n",
7474
"\n",
7575
"warnings.filterwarnings('ignore')\n",
@@ -205,7 +205,7 @@
205205
"x_train = simulator.sample_inputs(25).sort(dim=0).values\n",
206206
"y_train = simulator.forward_batch(x_train)\n",
207207
"\n",
208-
"emulator = GaussianProcessExact(x_train, y_train)\n",
208+
"emulator = GaussianProcess(x_train, y_train)\n",
209209
"emulator.fit(x_train, y_train)\n",
210210
"\n",
211211
"# Test emulator\n",
@@ -259,7 +259,7 @@
259259
"\n",
260260
"x_train = simulator.sample_inputs(5)\n",
261261
"y_train = simulator.forward_batch(x_train)\n",
262-
"emulator = GaussianProcessExact(x_train, y_train)\n",
262+
"emulator = GaussianProcess(x_train, y_train)\n",
263263
"\n",
264264
"# Learner itself!\n",
265265
"learner = stream.Random(\n",
@@ -458,33 +458,33 @@
458458
" x_train = simulator.sample_inputs(n_initial_samples)\n",
459459
" y_train = simulator.forward_batch(x_train)\n",
460460
" yield stream.Random(\n",
461-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
461+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
462462
" x_train=x_train, y_train=y_train,\n",
463463
" p_query=0.25, show_progress=show_progress\n",
464464
" )\n",
465465
" if not adaptive_only:\n",
466466
" yield stream.Distance(\n",
467-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
467+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
468468
" x_train=x_train, y_train=y_train,\n",
469469
" threshold=0.5, show_progress=show_progress\n",
470470
" )\n",
471471
" yield stream.A_Optimal(\n",
472-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
472+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
473473
" x_train=x_train, y_train=y_train,\n",
474474
" threshold=1.0, show_progress=show_progress\n",
475475
" )\n",
476476
" yield stream.D_Optimal(\n",
477-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
477+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
478478
" x_train=x_train, y_train=y_train,\n",
479479
" threshold=-4.2, show_progress=show_progress\n",
480480
" )\n",
481481
" yield stream.E_Optimal(\n",
482-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
482+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
483483
" x_train=x_train, y_train=y_train,\n",
484484
" threshold=1.0, show_progress=show_progress\n",
485485
" )\n",
486486
" yield stream.Adaptive_Distance(\n",
487-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
487+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
488488
" x_train=x_train, y_train=y_train,\n",
489489
" threshold=0.5, Kp=1.0, Ki=1.0, Kd=1.0,\n",
490490
" key=\"rate\", target=0.25,\n",
@@ -493,7 +493,7 @@
493493
" window_size=10, show_progress=show_progress\n",
494494
" )\n",
495495
" yield stream.Adaptive_A_Optimal(\n",
496-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
496+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
497497
" x_train=x_train, y_train=y_train,\n",
498498
" threshold=1e-1, Kp=2.0, Ki=1.0, Kd=2.0,\n",
499499
" key=\"rate\", target=0.25,\n",
@@ -502,7 +502,7 @@
502502
" window_size=10, show_progress=show_progress\n",
503503
" )\n",
504504
" yield stream.Adaptive_D_Optimal(\n",
505-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
505+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
506506
" x_train=x_train, y_train=y_train,\n",
507507
" threshold=-4.0, Kp=2.0, Ki=1.0, Kd=2.0,\n",
508508
" key=\"rate\", target=0.25,\n",
@@ -511,7 +511,7 @@
511511
" window_size=10, show_progress=show_progress\n",
512512
" )\n",
513513
" yield stream.Adaptive_E_Optimal(\n",
514-
" simulator=simulator, emulator=GaussianProcessExact(x_train, y_train),\n",
514+
" simulator=simulator, emulator=GaussianProcess(x_train, y_train),\n",
515515
" x_train=x_train, y_train=y_train,\n",
516516
" threshold=0.75 if isinstance(simulator, Sin) else 1000, \n",
517517
" Kp=2.0, Ki=1.0, Kd=2.0,\n",
@@ -776,7 +776,7 @@
776776
"name": "python",
777777
"nbconvert_exporter": "python",
778778
"pygments_lexer": "ipython3",
779-
"version": "3.12.7"
779+
"version": "3.12.11"
780780
}
781781
},
782782
"nbformat": 4,

docs/experimental/tutorials/simulator/03_history_matching.ipynb

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22
"cells": [
33
{
44
"cell_type": "code",
5-
"execution_count": 9,
5+
"execution_count": null,
66
"metadata": {},
77
"outputs": [],
88
"source": [
9-
"from autoemulate.experimental.emulators.gaussian_process.exact import (\n",
10-
" GaussianProcessExact,\n",
11-
")\n",
9+
"from autoemulate.experimental.emulators import GaussianProcess\n",
1210
"from autoemulate.experimental.compare import AutoEmulate\n",
1311
"from autoemulate.experimental.simulations.epidemic import Epidemic\n",
1412
"from autoemulate.experimental.calibration.history_matching import HistoryMatchingWorkflow\n",
@@ -73,7 +71,7 @@
7371
},
7472
{
7573
"cell_type": "code",
76-
"execution_count": 11,
74+
"execution_count": null,
7775
"metadata": {},
7876
"outputs": [
7977
{
@@ -85,7 +83,7 @@
8583
}
8684
],
8785
"source": [
88-
"ae = AutoEmulate(x, y, models=[GaussianProcessExact])"
86+
"ae = AutoEmulate(x, y, models=[GaussianProcess])"
8987
]
9088
},
9189
{

docs/experimental/tutorials/tasks/02_history_matching.ipynb

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22
"cells": [
33
{
44
"cell_type": "code",
5-
"execution_count": 1,
5+
"execution_count": null,
66
"metadata": {},
77
"outputs": [],
88
"source": [
9-
"from autoemulate.experimental.emulators.gaussian_process.exact import (\n",
10-
" GaussianProcessExact,\n",
11-
")\n",
9+
"from autoemulate.experimental.emulators import GaussianProcess\n",
1210
"from autoemulate.experimental.compare import AutoEmulate\n",
1311
"from autoemulate.experimental.simulations.projectile import Projectile\n",
1412
"from autoemulate.experimental.calibration.history_matching import HistoryMatching"
@@ -71,7 +69,7 @@
7169
},
7270
{
7371
"cell_type": "code",
74-
"execution_count": 3,
72+
"execution_count": null,
7573
"metadata": {},
7674
"outputs": [
7775
{
@@ -83,7 +81,7 @@
8381
}
8482
],
8583
"source": [
86-
"ae = AutoEmulate(x, y, models=[GaussianProcessExact])"
84+
"ae = AutoEmulate(x, y, models=[GaussianProcess])"
8785
]
8886
},
8987
{

0 commit comments

Comments
 (0)