diff --git a/GPy/_models/__init__.py b/GPy/_models/__init__.py new file mode 100644 index 00000000..6fc93631 --- /dev/null +++ b/GPy/_models/__init__.py @@ -0,0 +1,19 @@ +# Copyright (c) 2012, GPy authors (see AUTHORS.txt). +# Licensed under the BSD 3-clause license (see LICENSE.txt) + +# from gp_regression import GPRegression; _gp_regression = gp_regression ; del gp_regression +# from gp_classification import GPClassification; _gp_classification = gp_classification ; del gp_classification +# from sparse_gp_regression import SparseGPRegression; _sparse_gp_regression = sparse_gp_regression ; del sparse_gp_regression +# from svigp_regression import SVIGPRegression; _svigp_regression = svigp_regression ; del svigp_regression +# from sparse_gp_classification import SparseGPClassification; _sparse_gp_classification = sparse_gp_classification ; del sparse_gp_classification +# from fitc_classification import FITCClassification; _fitc_classification = fitc_classification ; del fitc_classification +# from gplvm import GPLVM; _gplvm = gplvm ; del gplvm +# from bcgplvm import BCGPLVM; _bcgplvm = bcgplvm; del bcgplvm +# from sparse_gplvm import SparseGPLVM; _sparse_gplvm = sparse_gplvm ; del sparse_gplvm +# from warped_gp import WarpedGP; _warped_gp = warped_gp ; del warped_gp +# from bayesian_gplvm import BayesianGPLVM; _bayesian_gplvm = bayesian_gplvm ; del bayesian_gplvm +# from mrd import MRD; _mrd = mrd ; del mrd +# from gradient_checker import GradientChecker; _gradient_checker = gradient_checker ; del gradient_checker +# from gp_multioutput_regression import GPMultioutputRegression; _gp_multioutput_regression = gp_multioutput_regression ; del gp_multioutput_regression +# from sparse_gp_multioutput_regression import SparseGPMultioutputRegression; _sparse_gp_multioutput_regression = sparse_gp_multioutput_regression ; del sparse_gp_multioutput_regression + diff --git a/GPy/models/bayesian_gplvm.py b/GPy/_models/bayesian_gplvm.py similarity index 99% rename from GPy/models/bayesian_gplvm.py rename to GPy/_models/bayesian_gplvm.py index 21b46a8a..2b299ad8 100644 --- a/GPy/models/bayesian_gplvm.py +++ b/GPy/_models/bayesian_gplvm.py @@ -2,14 +2,14 @@ # Licensed under the BSD 3-clause license (see LICENSE.txt) import numpy as np -from ..core import SparseGP +from ..core.sparse_gp import SparseGP from ..likelihoods import Gaussian from .. import kern import itertools from matplotlib.colors import colorConverter from GPy.inference.optimization import SCG from GPy.util import plot_latent, linalg -from GPy.models.gplvm import GPLVM +from .gplvm import GPLVM from GPy.util.plot_latent import most_significant_input_dimensions from matplotlib import pyplot diff --git a/GPy/models/bcgplvm.py b/GPy/_models/bcgplvm.py similarity index 100% rename from GPy/models/bcgplvm.py rename to GPy/_models/bcgplvm.py diff --git a/GPy/models/fitc_classification.py b/GPy/_models/fitc_classification.py similarity index 100% rename from GPy/models/fitc_classification.py rename to GPy/_models/fitc_classification.py diff --git a/GPy/models/gp_classification.py b/GPy/_models/gp_classification.py similarity index 100% rename from GPy/models/gp_classification.py rename to GPy/_models/gp_classification.py diff --git a/GPy/models/gp_multioutput_regression.py b/GPy/_models/gp_multioutput_regression.py similarity index 100% rename from GPy/models/gp_multioutput_regression.py rename to GPy/_models/gp_multioutput_regression.py diff --git a/GPy/models/gp_regression.py b/GPy/_models/gp_regression.py similarity index 98% rename from GPy/models/gp_regression.py rename to GPy/_models/gp_regression.py index 633fc1c8..8b44c1ba 100644 --- a/GPy/models/gp_regression.py +++ b/GPy/_models/gp_regression.py @@ -2,7 +2,6 @@ # Licensed under the BSD 3-clause license (see LICENSE.txt) -import numpy as np from ..core import GP from .. import likelihoods from .. import kern diff --git a/GPy/models/gplvm.py b/GPy/_models/gplvm.py similarity index 87% rename from GPy/models/gplvm.py rename to GPy/_models/gplvm.py index 795389a7..f27f861c 100644 --- a/GPy/models/gplvm.py +++ b/GPy/_models/gplvm.py @@ -4,15 +4,11 @@ import numpy as np import pylab as pb -import sys, pdb from .. import kern -from ..core import Model -from ..util.linalg import pdinv, PCA -from ..core.priors import Gaussian as Gaussian_prior +from ..core import priors from ..core import GP from ..likelihoods import Gaussian from .. import util -from GPy.util import plot_latent class GPLVM(GP): @@ -34,12 +30,13 @@ class GPLVM(GP): kernel = kern.rbf(input_dim, ARD=input_dim > 1) + kern.bias(input_dim, np.exp(-2)) likelihood = Gaussian(Y, normalize=normalize_Y, variance=np.exp(-2.)) GP.__init__(self, X, likelihood, kernel, normalize_X=False) - self.set_prior('.*X', Gaussian_prior(0, 1)) + self.set_prior('.*X', priors.Gaussian(0, 1)) self.ensure_default_constraints() def initialise_latent(self, init, input_dim, Y): Xr = np.random.randn(Y.shape[0], input_dim) if init == 'PCA': + from ..util.linalg import PCA PC = PCA(Y, input_dim)[0] Xr[:PC.shape[0], :PC.shape[1]] = PC return Xr @@ -62,15 +59,15 @@ class GPLVM(GP): def jacobian(self,X): target = np.zeros((X.shape[0],X.shape[1],self.output_dim)) for i in range(self.output_dim): - target[:,:,i] = self.kern.dK_dX(np.dot(self.Ki,self.likelihood.Y[:,i])[None, :],X,self.X) + target[:,:,i] = self.kern.dK_dX(np.dot(self.Ki,self.likelihood.Y[:,i])[None, :],X,self.X) return target def magnification(self,X): target=np.zeros(X.shape[0]) J = np.zeros((X.shape[0],X.shape[1],self.output_dim)) - J=self.jacobian(X) + J=self.jacobian(X) for i in range(X.shape[0]): - target[i]=np.sqrt(pb.det(np.dot(J[i,:,:],np.transpose(J[i,:,:])))) + target[i]=np.sqrt(pb.det(np.dot(J[i,:,:],np.transpose(J[i,:,:])))) return target def plot(self): diff --git a/GPy/models/gradient_checker.py b/GPy/_models/gradient_checker.py similarity index 100% rename from GPy/models/gradient_checker.py rename to GPy/_models/gradient_checker.py diff --git a/GPy/models/mrd.py b/GPy/_models/mrd.py similarity index 99% rename from GPy/models/mrd.py rename to GPy/_models/mrd.py index 2aaa731c..b9c99a64 100644 --- a/GPy/models/mrd.py +++ b/GPy/_models/mrd.py @@ -9,8 +9,8 @@ from GPy.util.linalg import PCA import numpy import itertools import pylab -from GPy.kern.kern import kern -from GPy.models.bayesian_gplvm import BayesianGPLVM +from ..kern import kern +from bayesian_gplvm import BayesianGPLVM class MRD(Model): """ diff --git a/GPy/models/sparse_gp_classification.py b/GPy/_models/sparse_gp_classification.py similarity index 100% rename from GPy/models/sparse_gp_classification.py rename to GPy/_models/sparse_gp_classification.py diff --git a/GPy/models/sparse_gp_multioutput_regression.py b/GPy/_models/sparse_gp_multioutput_regression.py similarity index 100% rename from GPy/models/sparse_gp_multioutput_regression.py rename to GPy/_models/sparse_gp_multioutput_regression.py diff --git a/GPy/models/sparse_gp_regression.py b/GPy/_models/sparse_gp_regression.py similarity index 100% rename from GPy/models/sparse_gp_regression.py rename to GPy/_models/sparse_gp_regression.py diff --git a/GPy/models/sparse_gplvm.py b/GPy/_models/sparse_gplvm.py similarity index 96% rename from GPy/models/sparse_gplvm.py rename to GPy/_models/sparse_gplvm.py index 6e7e40b1..ab616d5a 100644 --- a/GPy/models/sparse_gplvm.py +++ b/GPy/_models/sparse_gplvm.py @@ -5,8 +5,8 @@ import numpy as np import pylab as pb import sys, pdb -from GPy.models.sparse_gp_regression import SparseGPRegression -from GPy.models.gplvm import GPLVM +from sparse_gp_regression import SparseGPRegression +from gplvm import GPLVM # from .. import kern # from ..core import model # from ..util.linalg import pdinv, PCA diff --git a/GPy/models/svigp_regression.py b/GPy/_models/svigp_regression.py similarity index 100% rename from GPy/models/svigp_regression.py rename to GPy/_models/svigp_regression.py diff --git a/GPy/models/warped_gp.py b/GPy/_models/warped_gp.py similarity index 100% rename from GPy/models/warped_gp.py rename to GPy/_models/warped_gp.py diff --git a/GPy/models.py b/GPy/models.py new file mode 100644 index 00000000..9a847ea0 --- /dev/null +++ b/GPy/models.py @@ -0,0 +1,22 @@ +''' +Created on 14 Nov 2013 + +@author: maxz +''' + +from _models.bayesian_gplvm import BayesianGPLVM +from _models.gp_regression import GPRegression +from _models.gp_classification import GPClassification#; _gp_classification = gp_classification ; del gp_classification +from _models.sparse_gp_regression import SparseGPRegression#; _sparse_gp_regression = sparse_gp_regression ; del sparse_gp_regression +from _models.svigp_regression import SVIGPRegression#; _svigp_regression = svigp_regression ; del svigp_regression +from _models.sparse_gp_classification import SparseGPClassification#; _sparse_gp_classification = sparse_gp_classification ; del sparse_gp_classification +from _models.fitc_classification import FITCClassification#; _fitc_classification = fitc_classification ; del fitc_classification +from _models.gplvm import GPLVM#; _gplvm = gplvm ; del gplvm +from _models.bcgplvm import BCGPLVM#; _bcgplvm = bcgplvm; del bcgplvm +from _models.sparse_gplvm import SparseGPLVM#; _sparse_gplvm = sparse_gplvm ; del sparse_gplvm +from _models.warped_gp import WarpedGP#; _warped_gp = warped_gp ; del warped_gp +from _models.bayesian_gplvm import BayesianGPLVM#; _bayesian_gplvm = bayesian_gplvm ; del bayesian_gplvm +from _models.mrd import MRD#; _mrd = mrd; del mrd +from _models.gradient_checker import GradientChecker#; _gradient_checker = gradient_checker ; del gradient_checker +from _models.gp_multioutput_regression import GPMultioutputRegression#; _gp_multioutput_regression = gp_multioutput_regression ; del gp_multioutput_regression +from _models.sparse_gp_multioutput_regression import SparseGPMultioutputRegression#; _sparse_gp_multioutput_regression = sparse_gp_multioutput_regression ; del sparse_gp_multioutput_regression diff --git a/GPy/models/__init__.py b/GPy/models/__init__.py deleted file mode 100644 index a8be5890..00000000 --- a/GPy/models/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2012, GPy authors (see AUTHORS.txt). -# Licensed under the BSD 3-clause license (see LICENSE.txt) - -from gp_regression import GPRegression; _gp_regression = gp_regression ; del gp_regression -from gp_classification import GPClassification; _gp_classification = gp_classification ; del gp_classification -from sparse_gp_regression import SparseGPRegression; _sparse_gp_regression = sparse_gp_regression ; del sparse_gp_regression -from svigp_regression import SVIGPRegression; _svigp_regression = svigp_regression ; del svigp_regression -from sparse_gp_classification import SparseGPClassification; _sparse_gp_classification = sparse_gp_classification ; del sparse_gp_classification -from fitc_classification import FITCClassification; _fitc_classification = fitc_classification ; del fitc_classification -from gplvm import GPLVM; _gplvm = gplvm ; del gplvm -from bcgplvm import BCGPLVM; _bcgplvm = bcgplvm; del bcgplvm -from sparse_gplvm import SparseGPLVM; _sparse_gplvm = sparse_gplvm ; del sparse_gplvm -from warped_gp import WarpedGP; _warped_gp = warped_gp ; del warped_gp -from bayesian_gplvm import BayesianGPLVM; _bayesian_gplvm = bayesian_gplvm ; del bayesian_gplvm -from mrd import MRD; _mrd = mrd ; del mrd -from gradient_checker import GradientChecker; _gradient_checker = gradient_checker ; del gradient_checker -from gp_multioutput_regression import GPMultioutputRegression; _gp_multioutput_regression = gp_multioutput_regression ; del gp_multioutput_regression -from sparse_gp_multioutput_regression import SparseGPMultioutputRegression; _sparse_gp_multioutput_regression = sparse_gp_multioutput_regression ; del sparse_gp_multioutput_regression -