diff --git a/GPy/core/__init__.py b/GPy/core/__init__.py index e9e049b0..8b040984 100644 --- a/GPy/core/__init__.py +++ b/GPy/core/__init__.py @@ -2,7 +2,7 @@ # Licensed under the BSD 3-clause license (see LICENSE.txt) from model import * -from parameterised import * +from parameterized import * import priors from gp import GP from sparse_gp import SparseGP diff --git a/GPy/core/gp.py b/GPy/core/gp.py index 6587fdd5..a0e60bcc 100644 --- a/GPy/core/gp.py +++ b/GPy/core/gp.py @@ -31,8 +31,11 @@ class GP(GPBase): GPBase.__init__(self, X, likelihood, kernel, normalize_X=normalize_X) self._set_params(self._get_params()) - def __setstate__(self, state): - GPBase.__setstate__(self, state) + def getstate(self): + return GPBase.getstate(self) + + def setstate(self, state): + GPBase.setstate(self, state) self._set_params(self._get_params()) def _set_params(self, p): diff --git a/GPy/core/gp_base.py b/GPy/core/gp_base.py index d4f63295..2a0ba7c1 100644 --- a/GPy/core/gp_base.py +++ b/GPy/core/gp_base.py @@ -33,12 +33,12 @@ class GPBase(Model): # All leaf nodes should call self._set_params(self._get_params()) at # the end - def __getstate__(self): + def getstate(self): """ Get the current state of the class, here just all the indices, rest can get recomputed """ - return Model.__getstate__(self) + [self.X, + return Model.getstate(self) + [self.X, self.num_data, self.input_dim, self.kern, @@ -47,7 +47,7 @@ class GPBase(Model): self._Xoffset, self._Xscale] - def __setstate__(self, state): + def setstate(self, state): self._Xscale = state.pop() self._Xoffset = state.pop() self.output_dim = state.pop() @@ -56,7 +56,7 @@ class GPBase(Model): self.input_dim = state.pop() self.num_data = state.pop() self.X = state.pop() - Model.__setstate__(self, state) + Model.setstate(self, state) def plot_f(self, samples=0, plot_limits=None, which_data='all', which_parts='all', resolution=None, full_cov=False, fignum=None, ax=None): """ diff --git a/GPy/core/model.py b/GPy/core/model.py index 3c5c8419..fe5d5181 100644 --- a/GPy/core/model.py +++ b/GPy/core/model.py @@ -6,18 +6,18 @@ from .. import likelihoods from ..inference import optimization from ..util.linalg import jitchol from GPy.util.misc import opt_wrapper -from parameterised import Parameterised +from parameterized import Parameterized import multiprocessing as mp import numpy as np from GPy.core.domains import POSITIVE, REAL from numpy.linalg.linalg import LinAlgError # import numdifftools as ndt -class Model(Parameterised): +class Model(Parameterized): _fail_count = 0 # Count of failed optimization steps (see objective) _allowed_failures = 10 # number of allowed failures def __init__(self): - Parameterised.__init__(self) + Parameterized.__init__(self) self.priors = None self.optimization_runs = [] self.sampling_runs = [] @@ -32,24 +32,27 @@ class Model(Parameterised): def _log_likelihood_gradients(self): raise NotImplementedError, "this needs to be implemented to use the Model class" - def __getstate__(self): + def getstate(self): """ - Get the current state of the class, - here just all the indices, rest can get recomputed + Get the current state of the class. + + Inherited from Parameterized, so add those parameters to the state """ - return Parameterised.__getstate__(self) + \ + return Parameterized.getstate(self) + \ [self.priors, self.optimization_runs, self.sampling_runs, self.preferred_optimizer] - def __setstate__(self, state): + def setstate(self, state): """ set state from previous call to getstate + + call Parameterized with the rest of the state """ self.preferred_optimizer = state.pop() self.sampling_runs = state.pop() self.optimization_runs = state.pop() self.priors = state.pop() - Parameterised.__setstate__(self, state) + Parameterized.setstate(self, state) def set_prior(self, regexp, what): """ @@ -355,7 +358,7 @@ class Model(Parameterised): return 0.5 * self._get_params().size * np.log(2 * np.pi) + self.log_likelihood() - hld def __str__(self): - s = Parameterised.__str__(self).split('\n') + s = Parameterized.__str__(self).split('\n') # add priors to the string if self.priors is not None: strs = [str(p) if p is not None else '' for p in self.priors] diff --git a/GPy/core/parameterised.py b/GPy/core/parameterized.py similarity index 89% rename from GPy/core/parameterised.py rename to GPy/core/parameterized.py index 13467fdf..0f5ef905 100644 --- a/GPy/core/parameterised.py +++ b/GPy/core/parameterized.py @@ -9,7 +9,7 @@ import cPickle import warnings import transformations -class Parameterised(object): +class Parameterized(object): def __init__(self): """ This is the base class for model and kernel. Mostly just handles tieing and constraining of parameters @@ -20,19 +20,40 @@ class Parameterised(object): self.constrained_indices = [] self.constraints = [] - def pickle(self, filename, protocol= -1): - f = file(filename, 'w') - cPickle.dump(self, f, protocol) - f.close() + def pickle(self, filename, protocol=None): + if protocol is None: + if self._has_get_set_state(): + protocol = 0 + else: + protocol = -1 + with open(filename, 'w') as f: + cPickle.dump(self, f, protocol) def copy(self): """Returns a (deep) copy of the current model """ return copy.deepcopy(self) def __getstate__(self): + if self._has_get_set_state(): + return self.getstate() + return self.__dict__ + + def __setstate__(self, state): + if self._has_get_set_state(): + return self.setstate(state) + self.__dict__ = state + + def _has_get_set_state(self): + return 'getstate' in vars(self.__class__) and 'setstate' in vars(self.__class__) + + def getstate(self): """ Get the current state of the class, here just all the indices, rest can get recomputed + + For inheriting from Parameterized: + Allways append the state of the inherited object + and call down to the inherited object in setstate!! """ return [self.tied_indices, self.fixed_indices, @@ -40,54 +61,13 @@ class Parameterised(object): self.constrained_indices, self.constraints] - def __setstate__(self, state): + def setstate(self, state): self.constraints = state.pop() self.constrained_indices = state.pop() self.fixed_values = state.pop() self.fixed_indices = state.pop() self.tied_indices = state.pop() - @property - def params(self): - """ - Returns a **copy** of parameters in non transformed space - - :see_also: :py:func:`GPy.core.Parameterised.params_transformed` - """ - return self._get_params() - - @params.setter - def params(self, params): - self._set_params(params) - - @property - def params_transformed(self): - """ - Returns a **copy** of parameters in transformed space - - :see_also: :py:func:`GPy.core.Parameterised.params` - """ - return self._get_params_transformed() - - @params_transformed.setter - def params_transformed(self, params): - self._set_params_transformed(params) - - _get_set_deprecation = """get and set methods wont be available at next minor release - in the next releases you will get and set with following syntax: - Assume m is a model class: - print m['var'] # > prints all parameters matching 'var' - m['var'] = 2. # > sets all parameters matching 'var' to 2. - m['var'] = # > sets parameters matching 'var' to - """ - def get(self, regexp): - warnings.warn(self._get_set_deprecation, FutureWarning, stacklevel=2) - return self[regexp] - - def set(self, regexp, val): - warnings.warn(self._get_set_deprecation, FutureWarning, stacklevel=2) - self[regexp] = val - def __getitem__(self, regexp, return_names=False): """ Get a model parameter by name. The name is applied as a regular @@ -120,6 +100,9 @@ class Parameterised(object): raise AttributeError, "no parameter matches %s" % name def tie_params(self, regexp): + """ + Tie (all!) parameters matching the regular expression `regexp`. + """ matches = self.grep_param_names(regexp) assert matches.size > 0, "need at least something to tie together" if len(self.tied_indices): diff --git a/GPy/core/sparse_gp.py b/GPy/core/sparse_gp.py index f4416cf2..93ba5d7d 100644 --- a/GPy/core/sparse_gp.py +++ b/GPy/core/sparse_gp.py @@ -50,22 +50,22 @@ class SparseGP(GPBase): if self.has_uncertain_inputs: self.X_variance /= np.square(self._Xscale) - def __getstate__(self): + def getstate(self): """ Get the current state of the class, here just all the indices, rest can get recomputed """ - return GPBase.__getstate__(self) + [self.Z, + return GPBase.getstate(self) + [self.Z, self.num_inducing, self.has_uncertain_inputs, self.X_variance] - def __setstate__(self, state): + def setstate(self, state): self.X_variance = state.pop() self.has_uncertain_inputs = state.pop() self.num_inducing = state.pop() self.Z = state.pop() - GPBase.__setstate__(self, state) + GPBase.setstate(self, state) def _compute_kernel_matrices(self): # kernel computations, using BGPLVM notation diff --git a/GPy/core/svigp.py b/GPy/core/svigp.py index 1db0e26f..5d6bcd8b 100644 --- a/GPy/core/svigp.py +++ b/GPy/core/svigp.py @@ -91,6 +91,14 @@ class SVIGP(GPBase): self._param_steplength_trace = [] self._vb_steplength_trace = [] + def getstate(self): + return GPBase.getstate(self) + + + def setstate(self, state): + return GPBase.setstate(self, state) + + def _compute_kernel_matrices(self): # kernel computations, using BGPLVM notation self.Kmm = self.kern.K(self.Z) diff --git a/GPy/kern/kern.py b/GPy/kern/kern.py index aa916940..176abbaf 100644 --- a/GPy/kern/kern.py +++ b/GPy/kern/kern.py @@ -3,12 +3,12 @@ import numpy as np import pylab as pb -from ..core.parameterised import Parameterised +from ..core.parameterized import Parameterized from parts.kernpart import Kernpart import itertools from parts.prod import Prod as prod -class kern(Parameterised): +class kern(Parameterized): def __init__(self, input_dim, parts=[], input_slices=None): """ This is the main kernel class for GPy. It handles multiple (additive) kernel functions, and keeps track of variaous things like which parameters live where. @@ -41,14 +41,14 @@ class kern(Parameterised): self.compute_param_slices() - Parameterised.__init__(self) + Parameterized.__init__(self) - def __getstate__(self): + def getstate(self): """ Get the current state of the class, here just all the indices, rest can get recomputed """ - return Parameterised.__getstate__(self) + [self.parts, + return Parameterized.getstate(self) + [self.parts, self.Nparts, self.num_params, self.input_dim, @@ -56,14 +56,14 @@ class kern(Parameterised): self.param_slices ] - def __setstate__(self, state): + def setstate(self, state): self.param_slices = state.pop() self.input_slices = state.pop() self.input_dim = state.pop() self.num_params = state.pop() self.Nparts = state.pop() self.parts = state.pop() - Parameterised.__setstate__(self, state) + Parameterized.setstate(self, state) def plot_ARD(self, fignum=None, ax=None, title=None): diff --git a/GPy/models/bayesian_gplvm.py b/GPy/models/bayesian_gplvm.py index 8ea96405..916c307d 100644 --- a/GPy/models/bayesian_gplvm.py +++ b/GPy/models/bayesian_gplvm.py @@ -48,16 +48,16 @@ class BayesianGPLVM(SparseGP, GPLVM): SparseGP.__init__(self, X, likelihood, kernel, Z=Z, X_variance=X_variance, **kwargs) self.ensure_default_constraints() - def __getstate__(self): + def getstate(self): """ Get the current state of the class, here just all the indices, rest can get recomputed """ - return SparseGP.__getstate__(self) + [self.init] + return SparseGP.getstate(self) + [self.init] - def __setstate__(self, state): + def setstate(self, state): self.init = state.pop() - SparseGP.__setstate__(self, state) + SparseGP.setstate(self, state) def _get_param_names(self): X_names = sum([['X_%i_%i' % (n, q) for q in range(self.input_dim)] for n in range(self.num_data)], []) diff --git a/GPy/models/gp_regression.py b/GPy/models/gp_regression.py index db5d21b2..615e6618 100644 --- a/GPy/models/gp_regression.py +++ b/GPy/models/gp_regression.py @@ -25,11 +25,20 @@ class GPRegression(GP): """ - def __init__(self,X,Y,kernel=None,normalize_X=False,normalize_Y=False): + def __init__(self, X, Y, kernel=None, normalize_X=False, normalize_Y=False): if kernel is None: kernel = kern.rbf(X.shape[1]) - likelihood = likelihoods.Gaussian(Y,normalize=normalize_Y) + likelihood = likelihoods.Gaussian(Y, normalize=normalize_Y) GP.__init__(self, X, likelihood, kernel, normalize_X=normalize_X) self.ensure_default_constraints() + + def getstate(self): + return GP.getstate(self) + + + def setstate(self, state): + return GP.setstate(self, state) + + pass diff --git a/GPy/models/mrd.py b/GPy/models/mrd.py index 32bd2930..c8cb6607 100644 --- a/GPy/models/mrd.py +++ b/GPy/models/mrd.py @@ -84,8 +84,8 @@ class MRD(Model): Model.__init__(self) self.ensure_default_constraints() - def __getstate__(self): - return Model.__getstate__(self) + [self.names, + def getstate(self): + return Model.getstate(self) + [self.names, self.bgplvms, self.gref, self.nparams, @@ -95,7 +95,7 @@ class MRD(Model): self.NQ, self.MQ] - def __setstate__(self, state): + def setstate(self, state): self.MQ = state.pop() self.NQ = state.pop() self.num_data = state.pop() @@ -105,7 +105,7 @@ class MRD(Model): self.gref = state.pop() self.bgplvms = state.pop() self.names = state.pop() - Model.__setstate__(self, state) + Model.setstate(self, state) @property def X(self): diff --git a/GPy/models/sparse_gp_classification.py b/GPy/models/sparse_gp_classification.py index 9228fb89..5f36ebe1 100644 --- a/GPy/models/sparse_gp_classification.py +++ b/GPy/models/sparse_gp_classification.py @@ -28,7 +28,7 @@ class SparseGPClassification(SparseGP): def __init__(self, X, Y=None, likelihood=None, kernel=None, normalize_X=False, normalize_Y=False, Z=None, num_inducing=10): if kernel is None: - kernel = kern.rbf(X.shape[1]) + kern.white(X.shape[1],1e-3) + kernel = kern.rbf(X.shape[1]) + kern.white(X.shape[1], 1e-3) if likelihood is None: distribution = likelihoods.likelihood_functions.Binomial() @@ -41,7 +41,16 @@ class SparseGPClassification(SparseGP): i = np.random.permutation(X.shape[0])[:num_inducing] Z = X[i].copy() else: - assert Z.shape[1]==X.shape[1] + assert Z.shape[1] == X.shape[1] SparseGP.__init__(self, X, likelihood, kernel, Z=Z, normalize_X=normalize_X) self.ensure_default_constraints() + + def getstate(self): + return SparseGP.getstate(self) + + + def setstate(self, state): + return SparseGP.setstate(self, state) + + pass diff --git a/GPy/models/sparse_gp_regression.py b/GPy/models/sparse_gp_regression.py index 0dcef3e0..d5fcc7d7 100644 --- a/GPy/models/sparse_gp_regression.py +++ b/GPy/models/sparse_gp_regression.py @@ -43,3 +43,13 @@ class SparseGPRegression(SparseGP): SparseGP.__init__(self, X, likelihood, kernel, Z=Z, normalize_X=normalize_X, X_variance=X_variance) self.ensure_default_constraints() + pass + + def getstate(self): + return SparseGP.getstate(self) + + + def setstate(self, state): + return SparseGP.setstate(self, state) + + pass diff --git a/GPy/models/sparse_gplvm.py b/GPy/models/sparse_gplvm.py index d6f4adb9..6e7e40b1 100644 --- a/GPy/models/sparse_gplvm.py +++ b/GPy/models/sparse_gplvm.py @@ -28,6 +28,14 @@ class SparseGPLVM(SparseGPRegression, GPLVM): SparseGPRegression.__init__(self, X, Y, kernel=kernel, num_inducing=num_inducing) self.ensure_default_constraints() + def getstate(self): + return SparseGPRegression.getstate(self) + + + def setstate(self, state): + return SparseGPRegression.setstate(self, state) + + def _get_param_names(self): return (sum([['X_%i_%i' % (n, q) for q in range(self.input_dim)] for n in range(self.num_data)], []) + SparseGPRegression._get_param_names(self)) diff --git a/GPy/models/svigp_regression.py b/GPy/models/svigp_regression.py index 8448bf37..4d22c619 100644 --- a/GPy/models/svigp_regression.py +++ b/GPy/models/svigp_regression.py @@ -42,3 +42,11 @@ class SVIGPRegression(SVIGP): SVIGP.__init__(self, X, likelihood, kernel, Z, q_u=q_u, batchsize=batchsize) self.load_batch() + + def getstate(self): + return GPBase.getstate(self) + + + def setstate(self, state): + return GPBase.setstate(self, state) + diff --git a/GPy/models/warped_gp.py b/GPy/models/warped_gp.py index fcef66c6..dc6eeb46 100644 --- a/GPy/models/warped_gp.py +++ b/GPy/models/warped_gp.py @@ -28,6 +28,14 @@ class WarpedGP(GP): GP.__init__(self, X, likelihood, kernel, normalize_X=normalize_X) self._set_params(self._get_params()) + def getstate(self): + return GP.getstate(self) + + + def setstate(self, state): + return GP.setstate(self, state) + + def _scale_data(self, Y): self._Ymax = Y.max() self._Ymin = Y.min() diff --git a/doc/GPy.core.rst b/doc/GPy.core.rst index e02aaa2a..0590450f 100644 --- a/doc/GPy.core.rst +++ b/doc/GPy.core.rst @@ -9,6 +9,38 @@ core Package :undoc-members: :show-inheritance: +:mod:`domains` Module +--------------------- + +.. automodule:: GPy.core.domains + :members: + :undoc-members: + :show-inheritance: + +:mod:`fitc` Module +------------------ + +.. automodule:: GPy.core.fitc + :members: + :undoc-members: + :show-inheritance: + +:mod:`gp` Module +---------------- + +.. automodule:: GPy.core.gp + :members: + :undoc-members: + :show-inheritance: + +:mod:`gp_base` Module +--------------------- + +.. automodule:: GPy.core.gp_base + :members: + :undoc-members: + :show-inheritance: + :mod:`model` Module ------------------- @@ -17,10 +49,10 @@ core Package :undoc-members: :show-inheritance: -:mod:`parameterised` Module +:mod:`parameterized` Module --------------------------- -.. automodule:: GPy.core.parameterised +.. automodule:: GPy.core.parameterized :members: :undoc-members: :show-inheritance: @@ -33,3 +65,27 @@ core Package :undoc-members: :show-inheritance: +:mod:`sparse_gp` Module +----------------------- + +.. automodule:: GPy.core.sparse_gp + :members: + :undoc-members: + :show-inheritance: + +:mod:`svigp` Module +------------------- + +.. automodule:: GPy.core.svigp + :members: + :undoc-members: + :show-inheritance: + +:mod:`transformations` Module +----------------------------- + +.. automodule:: GPy.core.transformations + :members: + :undoc-members: + :show-inheritance: + diff --git a/doc/GPy.examples.rst b/doc/GPy.examples.rst index f17cf826..fedfd4b9 100644 --- a/doc/GPy.examples.rst +++ b/doc/GPy.examples.rst @@ -25,14 +25,6 @@ examples Package :undoc-members: :show-inheritance: -:mod:`non_gaussian` Module --------------------------- - -.. automodule:: GPy.examples.non_gaussian - :members: - :undoc-members: - :show-inheritance: - :mod:`regression` Module ------------------------ @@ -41,6 +33,14 @@ examples Package :undoc-members: :show-inheritance: +:mod:`stochastic` Module +------------------------ + +.. automodule:: GPy.examples.stochastic + :members: + :undoc-members: + :show-inheritance: + :mod:`tutorials` Module ----------------------- diff --git a/doc/GPy.inference.rst b/doc/GPy.inference.rst index f30e7d25..6a1bef4a 100644 --- a/doc/GPy.inference.rst +++ b/doc/GPy.inference.rst @@ -1,10 +1,18 @@ inference Package ================= -:mod:`SGD` Module ------------------ +:mod:`conjugate_gradient_descent` Module +---------------------------------------- -.. automodule:: GPy.inference.SGD +.. automodule:: GPy.inference.conjugate_gradient_descent + :members: + :undoc-members: + :show-inheritance: + +:mod:`gradient_descent_update_rules` Module +------------------------------------------- + +.. automodule:: GPy.inference.gradient_descent_update_rules :members: :undoc-members: :show-inheritance: @@ -25,3 +33,19 @@ inference Package :undoc-members: :show-inheritance: +:mod:`scg` Module +----------------- + +.. automodule:: GPy.inference.scg + :members: + :undoc-members: + :show-inheritance: + +:mod:`sgd` Module +----------------- + +.. automodule:: GPy.inference.sgd + :members: + :undoc-members: + :show-inheritance: + diff --git a/doc/GPy.kern.rst b/doc/GPy.kern.rst index aef712dc..35d9ec00 100644 --- a/doc/GPy.kern.rst +++ b/doc/GPy.kern.rst @@ -9,38 +9,6 @@ kern Package :undoc-members: :show-inheritance: -:mod:`Brownian` Module ----------------------- - -.. automodule:: GPy.kern.Brownian - :members: - :undoc-members: - :show-inheritance: - -:mod:`Matern32` Module ----------------------- - -.. automodule:: GPy.kern.Matern32 - :members: - :undoc-members: - :show-inheritance: - -:mod:`Matern52` Module ----------------------- - -.. automodule:: GPy.kern.Matern52 - :members: - :undoc-members: - :show-inheritance: - -:mod:`bias` Module ------------------- - -.. automodule:: GPy.kern.bias - :members: - :undoc-members: - :show-inheritance: - :mod:`constructors` Module -------------------------- @@ -49,30 +17,6 @@ kern Package :undoc-members: :show-inheritance: -:mod:`coregionalise` Module ---------------------------- - -.. automodule:: GPy.kern.coregionalise - :members: - :undoc-members: - :show-inheritance: - -:mod:`exponential` Module -------------------------- - -.. automodule:: GPy.kern.exponential - :members: - :undoc-members: - :show-inheritance: - -:mod:`finite_dimensional` Module --------------------------------- - -.. automodule:: GPy.kern.finite_dimensional - :members: - :undoc-members: - :show-inheritance: - :mod:`kern` Module ------------------ @@ -81,107 +25,10 @@ kern Package :undoc-members: :show-inheritance: -:mod:`kernpart` Module ----------------------- +Subpackages +----------- -.. automodule:: GPy.kern.kernpart - :members: - :undoc-members: - :show-inheritance: +.. toctree:: -:mod:`linear` Module --------------------- - -.. automodule:: GPy.kern.linear - :members: - :undoc-members: - :show-inheritance: - -:mod:`periodic_Matern32` Module -------------------------------- - -.. automodule:: GPy.kern.periodic_Matern32 - :members: - :undoc-members: - :show-inheritance: - -:mod:`periodic_Matern52` Module -------------------------------- - -.. automodule:: GPy.kern.periodic_Matern52 - :members: - :undoc-members: - :show-inheritance: - -:mod:`periodic_exponential` Module ----------------------------------- - -.. automodule:: GPy.kern.periodic_exponential - :members: - :undoc-members: - :show-inheritance: - -:mod:`prod` Module ------------------- - -.. automodule:: GPy.kern.prod - :members: - :undoc-members: - :show-inheritance: - -:mod:`prod_orthogonal` Module ------------------------------ - -.. automodule:: GPy.kern.prod_orthogonal - :members: - :undoc-members: - :show-inheritance: - -:mod:`rational_quadratic` Module --------------------------------- - -.. automodule:: GPy.kern.rational_quadratic - :members: - :undoc-members: - :show-inheritance: - -:mod:`rbf` Module ------------------ - -.. automodule:: GPy.kern.rbf - :members: - :undoc-members: - :show-inheritance: - -:mod:`spline` Module --------------------- - -.. automodule:: GPy.kern.spline - :members: - :undoc-members: - :show-inheritance: - -:mod:`symmetric` Module ------------------------ - -.. automodule:: GPy.kern.symmetric - :members: - :undoc-members: - :show-inheritance: - -:mod:`sympykern` Module ------------------------ - -.. automodule:: GPy.kern.sympykern - :members: - :undoc-members: - :show-inheritance: - -:mod:`white` Module -------------------- - -.. automodule:: GPy.kern.white - :members: - :undoc-members: - :show-inheritance: + GPy.kern.parts diff --git a/doc/GPy.likelihoods.rst b/doc/GPy.likelihoods.rst index 03c15a82..9fec38f8 100644 --- a/doc/GPy.likelihoods.rst +++ b/doc/GPy.likelihoods.rst @@ -9,7 +9,7 @@ likelihoods Package :undoc-members: :show-inheritance: -:mod:`EP` Module +:mod:`ep` Module ---------------- .. automodule:: GPy.likelihoods.ep @@ -17,7 +17,7 @@ likelihoods Package :undoc-members: :show-inheritance: -:mod:`Gaussian` Module +:mod:`gaussian` Module ---------------------- .. automodule:: GPy.likelihoods.gaussian @@ -41,3 +41,11 @@ likelihoods Package :undoc-members: :show-inheritance: +:mod:`link_functions` Module +---------------------------- + +.. automodule:: GPy.likelihoods.link_functions + :members: + :undoc-members: + :show-inheritance: + diff --git a/doc/GPy.models.rst b/doc/GPy.models.rst index f4ae6a59..4d227642 100644 --- a/doc/GPy.models.rst +++ b/doc/GPy.models.rst @@ -9,7 +9,7 @@ models Package :undoc-members: :show-inheritance: -:mod:`Bayesian_GPLVM` Module +:mod:`bayesian_gplvm` Module ---------------------------- .. automodule:: GPy.models.bayesian_gplvm @@ -17,18 +17,18 @@ models Package :undoc-members: :show-inheritance: -:mod:`gp` Module ----------------- +:mod:`fitc_classification` Module +--------------------------------- -.. automodule:: GPy.models.gp +.. automodule:: GPy.models.fitc_classification :members: :undoc-members: :show-inheritance: -:mod:`gplvm` Module -------------------- +:mod:`gp_classification` Module +------------------------------- -.. automodule:: GPy.models.gplvm +.. automodule:: GPy.models.gp_classification :members: :undoc-members: :show-inheritance: @@ -41,18 +41,26 @@ models Package :undoc-members: :show-inheritance: -:mod:`sparse_gp` Module ------------------------ +:mod:`gplvm` Module +------------------- -.. automodule:: GPy.models.sparse_gp +.. automodule:: GPy.models.gplvm :members: :undoc-members: :show-inheritance: -:mod:`SparseGPLVM` Module --------------------------- +:mod:`mrd` Module +----------------- -.. automodule:: GPy.models.sparse_gplvm +.. automodule:: GPy.models.mrd + :members: + :undoc-members: + :show-inheritance: + +:mod:`sparse_gp_classification` Module +-------------------------------------- + +.. automodule:: GPy.models.sparse_gp_classification :members: :undoc-members: :show-inheritance: @@ -65,13 +73,21 @@ models Package :undoc-members: :show-inheritance: -.. :mod:`uncollapsed_sparse_GP` Module -.. ----------------------------------- +:mod:`sparse_gplvm` Module +-------------------------- -.. .. automodule:: GPy.models.uncollapsed_sparse_GP -.. :members: -.. :undoc-members: -.. :show-inheritance: +.. automodule:: GPy.models.sparse_gplvm + :members: + :undoc-members: + :show-inheritance: + +:mod:`svigp_regression` Module +------------------------------ + +.. automodule:: GPy.models.svigp_regression + :members: + :undoc-members: + :show-inheritance: :mod:`warped_gp` Module ----------------------- diff --git a/doc/GPy.testing.rst b/doc/GPy.testing.rst index 5b32558b..6c461177 100644 --- a/doc/GPy.testing.rst +++ b/doc/GPy.testing.rst @@ -1,6 +1,14 @@ testing Package =============== +:mod:`testing` Package +---------------------- + +.. automodule:: GPy.testing + :members: + :undoc-members: + :show-inheritance: + :mod:`bgplvm_tests` Module -------------------------- @@ -9,6 +17,22 @@ testing Package :undoc-members: :show-inheritance: +:mod:`cgd_tests` Module +----------------------- + +.. automodule:: GPy.testing.cgd_tests + :members: + :undoc-members: + :show-inheritance: + +:mod:`checkgrad` Module +----------------------- + +.. automodule:: GPy.testing.checkgrad + :members: + :undoc-members: + :show-inheritance: + :mod:`examples_tests` Module ---------------------------- @@ -33,6 +57,14 @@ testing Package :undoc-members: :show-inheritance: +:mod:`mrd_tests` Module +----------------------- + +.. automodule:: GPy.testing.mrd_tests + :members: + :undoc-members: + :show-inheritance: + :mod:`prior_tests` Module ------------------------- @@ -41,6 +73,22 @@ testing Package :undoc-members: :show-inheritance: +:mod:`psi_stat_expactation_tests` Module +---------------------------------------- + +.. automodule:: GPy.testing.psi_stat_expactation_tests + :members: + :undoc-members: + :show-inheritance: + +:mod:`psi_stat_gradient_tests` Module +------------------------------------- + +.. automodule:: GPy.testing.psi_stat_gradient_tests + :members: + :undoc-members: + :show-inheritance: + :mod:`sparse_gplvm_tests` Module -------------------------------- diff --git a/doc/GPy.util.rst b/doc/GPy.util.rst index 5bec990b..e66329b6 100644 --- a/doc/GPy.util.rst +++ b/doc/GPy.util.rst @@ -17,6 +17,14 @@ util Package :undoc-members: :show-inheritance: +:mod:`classification` Module +---------------------------- + +.. automodule:: GPy.util.classification + :members: + :undoc-members: + :show-inheritance: + :mod:`datasets` Module ---------------------- @@ -25,6 +33,14 @@ util Package :undoc-members: :show-inheritance: +:mod:`decorators` Module +------------------------ + +.. automodule:: GPy.util.decorators + :members: + :undoc-members: + :show-inheritance: + :mod:`linalg` Module -------------------- @@ -41,6 +57,22 @@ util Package :undoc-members: :show-inheritance: +:mod:`mocap` Module +------------------- + +.. automodule:: GPy.util.mocap + :members: + :undoc-members: + :show-inheritance: + +:mod:`pca` Module +----------------- + +.. automodule:: GPy.util.pca + :members: + :undoc-members: + :show-inheritance: + :mod:`plot` Module ------------------ @@ -49,6 +81,14 @@ util Package :undoc-members: :show-inheritance: +:mod:`plot_latent` Module +------------------------- + +.. automodule:: GPy.util.plot_latent + :members: + :undoc-members: + :show-inheritance: + :mod:`squashers` Module ----------------------- @@ -57,6 +97,22 @@ util Package :undoc-members: :show-inheritance: +:mod:`univariate_Gaussian` Module +--------------------------------- + +.. automodule:: GPy.util.univariate_Gaussian + :members: + :undoc-members: + :show-inheritance: + +:mod:`visualize` Module +----------------------- + +.. automodule:: GPy.util.visualize + :members: + :undoc-members: + :show-inheritance: + :mod:`warping_functions` Module ------------------------------- diff --git a/doc/conf.py b/doc/conf.py index 8a05f386..4c377cb6 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -103,8 +103,10 @@ class Mock(object): #import mock print "Mocking" -MOCK_MODULES = ['pylab', 'sympy', 'sympy.utilities', 'sympy.utilities.codegen', 'sympy.core.cache', 'sympy.core', 'sympy.parsing', 'sympy.parsing.sympy_parser', 'matplotlib'] -#'matplotlib', 'matplotlib.color', 'matplotlib.pyplot', 'pylab' ] +MOCK_MODULES = ['sympy', + 'sympy.utilities', 'sympy.utilities.codegen', 'sympy.core.cache', + 'sympy.core', 'sympy.parsing', 'sympy.parsing.sympy_parser', + ] for mod_name in MOCK_MODULES: sys.modules[mod_name] = Mock() @@ -288,7 +290,7 @@ latex_elements = { #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. - #'preamble': '', + 'preamble': '\\usepackage{MnSymbol}', } # Grouping the document tree into LaTeX files. List of tuples diff --git a/doc/index.rst b/doc/index.rst index a7b68c16..29b4cf43 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -11,6 +11,7 @@ For a quick start, you can have a look at one of the tutorials: * `Interacting with models `_ * `A kernel overview `_ * `Writing new kernels `_ +* `Writing new models `_ You may also be interested by some examples in the GPy/examples folder. diff --git a/doc/tuto_interacting_with_models.rst b/doc/tuto_interacting_with_models.rst index 3cea7fb7..4a466bae 100644 --- a/doc/tuto_interacting_with_models.rst +++ b/doc/tuto_interacting_with_models.rst @@ -1,3 +1,5 @@ +.. _interacting_with_models: + ************************************* Interacting with models ************************************* @@ -210,6 +212,6 @@ white_variance and noise_variance are tied together.:: Further Reading =============== -All of the mechansiams for dealing with parameters are baked right into GPy.core.model, from which all of the classes in GPy.models inherrit. To learn how to construct your own model, you might want to read ??link?? creating_new_models. +All of the mechansiams for dealing with parameters are baked right into GPy.core.model, from which all of the classes in GPy.models inherrit. To learn how to construct your own model, you might want to read :ref:`creating_new_models`. -By deafult, GPy uses the tnc optimizer (from scipy.optimize.tnc). To use other optimisers, and to control the setting of those optimisers, as well as other funky features like automated restarts and diagnostics, you can read the optimization tutorial ??link??. +By deafult, GPy uses the scg optimizer. To use other optimisers, and to control the setting of those optimisers, as well as other funky features like automated restarts and diagnostics, you can read the optimization tutorial ??link??.