Skip to content

Latest commit

 

History

History
75 lines (54 loc) · 1.57 KB

File metadata and controls

75 lines (54 loc) · 1.57 KB

Optimal Distributed GP

Aggregation Models with Optimal Weights for Distributed Gaussian Processes

Installation

Requires Python 3.10.

python -m venv .env
source .env/bin/activate

# Install the package
pip install -e .

Reproduce Results

All commands assume you are at the repository root optimal-distgp with PYTHONPATH set:

export PYTHONPATH="$PWD"

Sparse Grid Experiment (Julia)

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")
'

Synthetic Experiments

Training loss and parameter convergence (Figure 2 and Figure 8):

python experiments/synthetic/train_err.py

GP 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 500

Prediction error comparison (Figure 4 and Figure 5):

python experiments/synthetic/pred_err.py

UCI Extrapolation Experiments

Download the datasets first:

python experiments/uci/download.py

Extrapolation prediction (Table 2 and Figure 6):

python experiments/uci/pred_extrapolate.py