Aggregation Models with Optimal Weights for Distributed Gaussian Processes
Requires Python 3.10.
python -m venv .env
source .env/bin/activate
# Install the package
pip install -e .All commands assume you are at the repository root optimal-distgp with PYTHONPATH set:
export PYTHONPATH="$PWD"OptiCom vs. Smolyak comparison (Figure 1):
Requires Julia. Install dependencies first:
julia -e 'import Pkg; Pkg.add(["AbstractGPs", "Plots", "BenchmarkTools", "JLD2", "Combinatorics"])'Then run:
cd opticom-gp
julia -e '
include("src/combination_tech/base_designs/base_design.jl")
include("src/combination_tech/sparsegrid_designs/sparse_grid.jl")
include("src/models/optisparse_coeff.jl")
include("src/models/gp.jl")
include("experiment/simulation_sg.jl")
'Training loss and parameter convergence (Figure 2 and Figure 8):
python experiments/synthetic/train_err.pyGP aggregation models comparison (Figure 3):
python experiments/synthetic/full_aggreg_compare.py -alg svgp -e 100 -b 4 -d 1 -s 6 -t -o FACT -p --no-train-all-params -N 500Prediction error comparison (Figure 4 and Figure 5):
python experiments/synthetic/pred_err.pyDownload the datasets first:
python experiments/uci/download.pyExtrapolation prediction (Table 2 and Figure 6):
python experiments/uci/pred_extrapolate.py