rename models to _models and import models in models.py

This commit is contained in:
Max Zwiessele 2013-11-20 12:47:06 +00:00
parent 76bfbee545
commit f114b9fff5
18 changed files with 53 additions and 35 deletions

19
GPy/_models/__init__.py Normal file
View file

@ -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

View file

@ -2,14 +2,14 @@
# Licensed under the BSD 3-clause license (see LICENSE.txt) # Licensed under the BSD 3-clause license (see LICENSE.txt)
import numpy as np import numpy as np
from ..core import SparseGP from ..core.sparse_gp import SparseGP
from ..likelihoods import Gaussian from ..likelihoods import Gaussian
from .. import kern from .. import kern
import itertools import itertools
from matplotlib.colors import colorConverter from matplotlib.colors import colorConverter
from GPy.inference.optimization import SCG from GPy.inference.optimization import SCG
from GPy.util import plot_latent, linalg 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 GPy.util.plot_latent import most_significant_input_dimensions
from matplotlib import pyplot from matplotlib import pyplot

View file

@ -2,7 +2,6 @@
# Licensed under the BSD 3-clause license (see LICENSE.txt) # Licensed under the BSD 3-clause license (see LICENSE.txt)
import numpy as np
from ..core import GP from ..core import GP
from .. import likelihoods from .. import likelihoods
from .. import kern from .. import kern

View file

@ -4,15 +4,11 @@
import numpy as np import numpy as np
import pylab as pb import pylab as pb
import sys, pdb
from .. import kern from .. import kern
from ..core import Model from ..core import priors
from ..util.linalg import pdinv, PCA
from ..core.priors import Gaussian as Gaussian_prior
from ..core import GP from ..core import GP
from ..likelihoods import Gaussian from ..likelihoods import Gaussian
from .. import util from .. import util
from GPy.util import plot_latent
class GPLVM(GP): 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)) 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.)) likelihood = Gaussian(Y, normalize=normalize_Y, variance=np.exp(-2.))
GP.__init__(self, X, likelihood, kernel, normalize_X=False) 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() self.ensure_default_constraints()
def initialise_latent(self, init, input_dim, Y): def initialise_latent(self, init, input_dim, Y):
Xr = np.random.randn(Y.shape[0], input_dim) Xr = np.random.randn(Y.shape[0], input_dim)
if init == 'PCA': if init == 'PCA':
from ..util.linalg import PCA
PC = PCA(Y, input_dim)[0] PC = PCA(Y, input_dim)[0]
Xr[:PC.shape[0], :PC.shape[1]] = PC Xr[:PC.shape[0], :PC.shape[1]] = PC
return Xr return Xr
@ -62,15 +59,15 @@ class GPLVM(GP):
def jacobian(self,X): def jacobian(self,X):
target = np.zeros((X.shape[0],X.shape[1],self.output_dim)) target = np.zeros((X.shape[0],X.shape[1],self.output_dim))
for i in range(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 return target
def magnification(self,X): def magnification(self,X):
target=np.zeros(X.shape[0]) target=np.zeros(X.shape[0])
J = np.zeros((X.shape[0],X.shape[1],self.output_dim)) 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]): 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 return target
def plot(self): def plot(self):

View file

@ -9,8 +9,8 @@ from GPy.util.linalg import PCA
import numpy import numpy
import itertools import itertools
import pylab import pylab
from GPy.kern.kern import kern from ..kern import kern
from GPy.models.bayesian_gplvm import BayesianGPLVM from bayesian_gplvm import BayesianGPLVM
class MRD(Model): class MRD(Model):
""" """

View file

@ -5,8 +5,8 @@
import numpy as np import numpy as np
import pylab as pb import pylab as pb
import sys, pdb import sys, pdb
from GPy.models.sparse_gp_regression import SparseGPRegression from sparse_gp_regression import SparseGPRegression
from GPy.models.gplvm import GPLVM from gplvm import GPLVM
# from .. import kern # from .. import kern
# from ..core import model # from ..core import model
# from ..util.linalg import pdinv, PCA # from ..util.linalg import pdinv, PCA

22
GPy/models.py Normal file
View file

@ -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

View file

@ -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