|
| 1 | +""" |
| 2 | +
|
| 3 | +General Framework for the data augmented Gaussian Processes |
| 4 | +
|
| 5 | +""" |
| 6 | +module AugmentedGaussianProcesses |
| 7 | + |
| 8 | +@enum GPModelType Undefined=0 BSVM=1 XGPC=2 Regression=3 StudentT=4 MultiClassGP=5 |
| 9 | + |
| 10 | +#Class arborescence |
| 11 | + |
| 12 | +abstract type GPModel end |
| 13 | + |
| 14 | +abstract type OnlineGPModel <: GPModel end |
| 15 | + |
| 16 | +abstract type OfflineGPModel <: GPModel end |
| 17 | + |
| 18 | +abstract type LinearModel <: OfflineGPModel end |
| 19 | + |
| 20 | +abstract type NonLinearModel <: OfflineGPModel end |
| 21 | + |
| 22 | +abstract type MultiClassGPModel <: OfflineGPModel end |
| 23 | + |
| 24 | +abstract type SparseModel <: NonLinearModel end |
| 25 | + |
| 26 | +abstract type FullBatchModel <: NonLinearModel end |
| 27 | + |
| 28 | +export GPModel, OnlineGPModel, OfflineGPModel, SparseModel, NonLinearModel, LinearModel, FullBatchModel, GPMOdelType |
| 29 | + |
| 30 | +include("graddescent/GradDescent.jl") |
| 31 | +include("kernels/KernelModule.jl") |
| 32 | +include("kmeans/KMeansModule.jl") |
| 33 | +include("functions/PGSampler.jl") |
| 34 | +include("functions/PerturbativeCorrection.jl") |
| 35 | +include("functions/GPAnalysisTools.jl") |
| 36 | +include("functions/IO_model.jl") |
| 37 | +#Custom modules |
| 38 | +using .KernelModule |
| 39 | +using .KMeansModule |
| 40 | +using .PGSampler |
| 41 | +using .PerturbativeCorrection |
| 42 | +using .GPAnalysisTools |
| 43 | +using .GradDescent |
| 44 | +# using .IO_model |
| 45 | +#General modules |
| 46 | +using Distributions |
| 47 | +using LinearAlgebra |
| 48 | +using StatsBase |
| 49 | +using SpecialFunctions |
| 50 | +using Dates |
| 51 | +using QuadGK |
| 52 | +using SparseArrays |
| 53 | +#Exported models |
| 54 | +export KMeansModule |
| 55 | +export LinearBSVM, BatchBSVM, SparseBSVM |
| 56 | +export BatchXGPC, SparseXGPC, OnlineXGPC, GibbsSamplerGPC |
| 57 | +export GPRegression, SparseGPRegression, OnlineGPRegression |
| 58 | +export BatchStudentT, SparseStudentT |
| 59 | +export MultiClass, SparseMultiClass |
| 60 | +#General class definitions |
| 61 | +#Useful functions |
| 62 | +export getLog, getMultiClassLog |
| 63 | +export Kernel, kerneldiagmatrix, kerneldiagmatrix!, kernelmatrix, kernelmatrix!, RBFKernel, LaplaceKernel, SigmoidKernel, PolynomialKernel, ARDKernel |
| 64 | +export Matern3_2Kernel, Matern5_2Kernel |
| 65 | +export fstar, multiclasspredictproba, multiclasspredictprobamcmc, multiclasspredict, ELBO |
| 66 | +export setvalue!,getvalue,setfixed!,setfree! |
| 67 | +export KMeansInducingPoints |
| 68 | +# export save_trained_model,save_model,load_trained_model,load_model |
| 69 | + |
| 70 | + |
| 71 | +#using Plots |
| 72 | + |
| 73 | +include("GPFields.jl") |
| 74 | +include("MultiClassGPFields.jl") |
| 75 | +#Models |
| 76 | +include("models/LinearBSVM.jl") |
| 77 | +include("models/BatchBSVM.jl") |
| 78 | +include("models/SparseBSVM.jl") |
| 79 | +include("models/BatchXGPC.jl") |
| 80 | +include("models/SparseXGPC.jl") |
| 81 | +include("models/OnlineXGPC.jl") |
| 82 | +include("models/GibbsSamplerGPC.jl") |
| 83 | +include("models/Regression.jl") |
| 84 | +include("models/SparseRegression.jl") |
| 85 | +include("models/OnlineRegression.jl") |
| 86 | +include("models/BatchStudentT.jl") |
| 87 | +include("models/SparseStudentT.jl") |
| 88 | +include("models/MultiClass.jl") |
| 89 | +include("models/SparseMultiClass.jl") |
| 90 | +#Functions |
| 91 | +include("OnlineTraining.jl") |
| 92 | +include("OfflineTraining.jl") |
| 93 | +include("Autotuning.jl") |
| 94 | +include("Predictions.jl") |
| 95 | +include("models/General_Functions.jl") |
| 96 | +include("models/BSVM_Functions.jl") |
| 97 | +include("models/XGPC_Functions.jl") |
| 98 | +include("models/Regression_Functions.jl") |
| 99 | +include("models/StudentT_Functions.jl") |
| 100 | +include("models/MultiClass_Functions.jl") |
| 101 | + |
| 102 | +end #End Module |
0 commit comments