[huge merge] trying to merge old master and master

This commit is contained in:
Max Zwiessele 2014-11-21 16:17:03 +00:00
commit 180650ec85
308 changed files with 27071 additions and 24550 deletions

View file

@ -0,0 +1,102 @@
GPy.core.parameterization package
=================================
Submodules
----------
GPy.core.parameterization.domains module
----------------------------------------
.. automodule:: GPy.core.parameterization.domains
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.index_operations module
-------------------------------------------------
.. automodule:: GPy.core.parameterization.index_operations
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.lists_and_dicts module
------------------------------------------------
.. automodule:: GPy.core.parameterization.lists_and_dicts
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.observable_array module
-------------------------------------------------
.. automodule:: GPy.core.parameterization.observable_array
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.param module
--------------------------------------
.. automodule:: GPy.core.parameterization.param
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.parameter_core module
-----------------------------------------------
.. automodule:: GPy.core.parameterization.parameter_core
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.parameterized module
----------------------------------------------
.. automodule:: GPy.core.parameterization.parameterized
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.priors module
---------------------------------------
.. automodule:: GPy.core.parameterization.priors
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.ties_and_remappings module
----------------------------------------------------
.. automodule:: GPy.core.parameterization.ties_and_remappings
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.transformations module
------------------------------------------------
.. automodule:: GPy.core.parameterization.transformations
:members:
:undoc-members:
:show-inheritance:
GPy.core.parameterization.variational module
--------------------------------------------
.. automodule:: GPy.core.parameterization.variational
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.core.parameterization
:members:
:undoc-members:
:show-inheritance:

View file

@ -1,25 +1,16 @@
GPy.core package
================
Subpackages
-----------
.. toctree::
GPy.core.parameterization
Submodules
----------
GPy.core.domains module
-----------------------
.. automodule:: GPy.core.domains
:members:
:undoc-members:
:show-inheritance:
GPy.core.fitc module
--------------------
.. automodule:: GPy.core.fitc
:members:
:undoc-members:
:show-inheritance:
GPy.core.gp module
------------------
@ -28,14 +19,6 @@ GPy.core.gp module
:undoc-members:
:show-inheritance:
GPy.core.gp_base module
-----------------------
.. automodule:: GPy.core.gp_base
:members:
:undoc-members:
:show-inheritance:
GPy.core.mapping module
-----------------------
@ -52,22 +35,6 @@ GPy.core.model module
:undoc-members:
:show-inheritance:
GPy.core.parameterized module
-----------------------------
.. automodule:: GPy.core.parameterized
:members:
:undoc-members:
:show-inheritance:
GPy.core.priors module
----------------------
.. automodule:: GPy.core.priors
:members:
:undoc-members:
:show-inheritance:
GPy.core.sparse_gp module
-------------------------
@ -76,6 +43,14 @@ GPy.core.sparse_gp module
:undoc-members:
:show-inheritance:
GPy.core.sparse_gp_mpi module
-----------------------------
.. automodule:: GPy.core.sparse_gp_mpi
:members:
:undoc-members:
:show-inheritance:
GPy.core.svigp module
---------------------
@ -84,10 +59,10 @@ GPy.core.svigp module
:undoc-members:
:show-inheritance:
GPy.core.transformations module
-------------------------------
GPy.core.symbolic module
------------------------
.. automodule:: GPy.core.transformations
.. automodule:: GPy.core.symbolic
:members:
:undoc-members:
:show-inheritance:

View file

@ -12,6 +12,14 @@ GPy.examples.classification module
:undoc-members:
:show-inheritance:
GPy.examples.coreg_example module
---------------------------------
.. automodule:: GPy.examples.coreg_example
:members:
:undoc-members:
:show-inheritance:
GPy.examples.dimensionality_reduction module
--------------------------------------------

View file

@ -0,0 +1,102 @@
GPy.inference.latent_function_inference package
===============================================
Submodules
----------
GPy.inference.latent_function_inference.dtc module
--------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.dtc
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.exact_gaussian_inference module
-----------------------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.exact_gaussian_inference
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.expectation_propagation module
----------------------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.expectation_propagation
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.expectation_propagation_dtc module
--------------------------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.expectation_propagation_dtc
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.fitc module
---------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.fitc
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.inferenceX module
---------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.inferenceX
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.laplace module
------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.laplace
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.posterior module
--------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.posterior
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.var_dtc module
------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.var_dtc
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.var_dtc_gpu module
----------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.var_dtc_gpu
:members:
:undoc-members:
:show-inheritance:
GPy.inference.latent_function_inference.var_dtc_parallel module
---------------------------------------------------------------
.. automodule:: GPy.inference.latent_function_inference.var_dtc_parallel
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.inference.latent_function_inference
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,30 @@
GPy.inference.mcmc package
==========================
Submodules
----------
GPy.inference.mcmc.hmc module
-----------------------------
.. automodule:: GPy.inference.mcmc.hmc
:members:
:undoc-members:
:show-inheritance:
GPy.inference.mcmc.samplers module
----------------------------------
.. automodule:: GPy.inference.mcmc.samplers
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.inference.mcmc
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,62 @@
GPy.inference.optimization package
==================================
Submodules
----------
GPy.inference.optimization.conjugate_gradient_descent module
------------------------------------------------------------
.. automodule:: GPy.inference.optimization.conjugate_gradient_descent
:members:
:undoc-members:
:show-inheritance:
GPy.inference.optimization.gradient_descent_update_rules module
---------------------------------------------------------------
.. automodule:: GPy.inference.optimization.gradient_descent_update_rules
:members:
:undoc-members:
:show-inheritance:
GPy.inference.optimization.optimization module
----------------------------------------------
.. automodule:: GPy.inference.optimization.optimization
:members:
:undoc-members:
:show-inheritance:
GPy.inference.optimization.scg module
-------------------------------------
.. automodule:: GPy.inference.optimization.scg
:members:
:undoc-members:
:show-inheritance:
GPy.inference.optimization.sgd module
-------------------------------------
.. automodule:: GPy.inference.optimization.sgd
:members:
:undoc-members:
:show-inheritance:
GPy.inference.optimization.stochastics module
---------------------------------------------
.. automodule:: GPy.inference.optimization.stochastics
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.inference.optimization
:members:
:undoc-members:
:show-inheritance:

View file

@ -1,57 +1,14 @@
GPy.inference package
=====================
Submodules
----------
Subpackages
-----------
GPy.inference.conjugate_gradient_descent module
-----------------------------------------------
.. automodule:: GPy.inference.conjugate_gradient_descent
:members:
:undoc-members:
:show-inheritance:
GPy.inference.gradient_descent_update_rules module
--------------------------------------------------
.. automodule:: GPy.inference.gradient_descent_update_rules
:members:
:undoc-members:
:show-inheritance:
GPy.inference.optimization module
---------------------------------
.. automodule:: GPy.inference.optimization
:members:
:undoc-members:
:show-inheritance:
GPy.inference.samplers module
-----------------------------
.. automodule:: GPy.inference.samplers
:members:
:undoc-members:
:show-inheritance:
GPy.inference.scg module
------------------------
.. automodule:: GPy.inference.scg
:members:
:undoc-members:
:show-inheritance:
GPy.inference.sgd module
------------------------
.. automodule:: GPy.inference.sgd
:members:
:undoc-members:
:show-inheritance:
.. toctree::
GPy.inference.latent_function_inference
GPy.inference.mcmc
GPy.inference.optimization
Module contents
---------------

View file

@ -0,0 +1,62 @@
GPy.kern._src.psi_comp package
==============================
Submodules
----------
GPy.kern._src.psi_comp.linear_psi_comp module
---------------------------------------------
.. automodule:: GPy.kern._src.psi_comp.linear_psi_comp
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.psi_comp.rbf_psi_comp module
------------------------------------------
.. automodule:: GPy.kern._src.psi_comp.rbf_psi_comp
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.psi_comp.rbf_psi_gpucomp module
---------------------------------------------
.. automodule:: GPy.kern._src.psi_comp.rbf_psi_gpucomp
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.psi_comp.sslinear_psi_comp module
-----------------------------------------------
.. automodule:: GPy.kern._src.psi_comp.sslinear_psi_comp
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.psi_comp.ssrbf_psi_comp module
--------------------------------------------
.. automodule:: GPy.kern._src.psi_comp.ssrbf_psi_comp
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.psi_comp.ssrbf_psi_gpucomp module
-----------------------------------------------
.. automodule:: GPy.kern._src.psi_comp.ssrbf_psi_gpucomp
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.kern._src.psi_comp
:members:
:undoc-members:
:show-inheritance:

197
doc/GPy.kern._src.rst Normal file
View file

@ -0,0 +1,197 @@
GPy.kern._src package
=====================
Subpackages
-----------
.. toctree::
GPy.kern._src.psi_comp
Submodules
----------
GPy.kern._src.ODE_UY module
---------------------------
.. automodule:: GPy.kern._src.ODE_UY
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.ODE_UYC module
----------------------------
.. automodule:: GPy.kern._src.ODE_UYC
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.ODE_st module
---------------------------
.. automodule:: GPy.kern._src.ODE_st
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.ODE_t module
--------------------------
.. automodule:: GPy.kern._src.ODE_t
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.add module
------------------------
.. automodule:: GPy.kern._src.add
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.brownian module
-----------------------------
.. automodule:: GPy.kern._src.brownian
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.coregionalize module
----------------------------------
.. automodule:: GPy.kern._src.coregionalize
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.hierarchical module
---------------------------------
.. automodule:: GPy.kern._src.hierarchical
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.independent_outputs module
----------------------------------------
.. automodule:: GPy.kern._src.independent_outputs
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.kern module
-------------------------
.. automodule:: GPy.kern._src.kern
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.kernel_slice_operations module
--------------------------------------------
.. automodule:: GPy.kern._src.kernel_slice_operations
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.linear module
---------------------------
.. automodule:: GPy.kern._src.linear
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.mlp module
------------------------
.. automodule:: GPy.kern._src.mlp
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.periodic module
-----------------------------
.. automodule:: GPy.kern._src.periodic
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.poly module
-------------------------
.. automodule:: GPy.kern._src.poly
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.prod module
-------------------------
.. automodule:: GPy.kern._src.prod
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.rbf module
------------------------
.. automodule:: GPy.kern._src.rbf
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.splitKern module
------------------------------
.. automodule:: GPy.kern._src.splitKern
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.static module
---------------------------
.. automodule:: GPy.kern._src.static
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.stationary module
-------------------------------
.. automodule:: GPy.kern._src.stationary
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.symbolic module
-----------------------------
.. automodule:: GPy.kern._src.symbolic
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src.trunclinear module
--------------------------------
.. automodule:: GPy.kern._src.trunclinear
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.kern._src
:members:
:undoc-members:
:show-inheritance:

View file

@ -1,278 +0,0 @@
GPy.kern.parts package
======================
Submodules
----------
GPy.kern.parts.Brownian module
------------------------------
.. automodule:: GPy.kern.parts.Brownian
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.Matern32 module
------------------------------
.. automodule:: GPy.kern.parts.Matern32
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.Matern52 module
------------------------------
.. automodule:: GPy.kern.parts.Matern52
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.ODE_1 module
---------------------------
.. automodule:: GPy.kern.parts.ODE_1
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.ODE_UY module
----------------------------
.. automodule:: GPy.kern.parts.ODE_UY
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.bias module
--------------------------
.. automodule:: GPy.kern.parts.bias
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.coregionalize module
-----------------------------------
.. automodule:: GPy.kern.parts.coregionalize
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.eq_ode1 module
-----------------------------
.. automodule:: GPy.kern.parts.eq_ode1
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.exponential module
---------------------------------
.. automodule:: GPy.kern.parts.exponential
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.finite_dimensional module
----------------------------------------
.. automodule:: GPy.kern.parts.finite_dimensional
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.fixed module
---------------------------
.. automodule:: GPy.kern.parts.fixed
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.gibbs module
---------------------------
.. automodule:: GPy.kern.parts.gibbs
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.hetero module
----------------------------
.. automodule:: GPy.kern.parts.hetero
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.hierarchical module
----------------------------------
.. automodule:: GPy.kern.parts.hierarchical
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.independent_outputs module
-----------------------------------------
.. automodule:: GPy.kern.parts.independent_outputs
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.kernpart module
------------------------------
.. automodule:: GPy.kern.parts.kernpart
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.linear module
----------------------------
.. automodule:: GPy.kern.parts.linear
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.mlp module
-------------------------
.. automodule:: GPy.kern.parts.mlp
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.periodic_Matern32 module
---------------------------------------
.. automodule:: GPy.kern.parts.periodic_Matern32
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.periodic_Matern52 module
---------------------------------------
.. automodule:: GPy.kern.parts.periodic_Matern52
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.periodic_exponential module
------------------------------------------
.. automodule:: GPy.kern.parts.periodic_exponential
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.poly module
--------------------------
.. automodule:: GPy.kern.parts.poly
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.prod module
--------------------------
.. automodule:: GPy.kern.parts.prod
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.prod_orthogonal module
-------------------------------------
.. automodule:: GPy.kern.parts.prod_orthogonal
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.rational_quadratic module
----------------------------------------
.. automodule:: GPy.kern.parts.rational_quadratic
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.rbf module
-------------------------
.. automodule:: GPy.kern.parts.rbf
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.rbf_inv module
-----------------------------
.. automodule:: GPy.kern.parts.rbf_inv
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.rbfcos module
----------------------------
.. automodule:: GPy.kern.parts.rbfcos
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.spline module
----------------------------
.. automodule:: GPy.kern.parts.spline
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.symmetric module
-------------------------------
.. automodule:: GPy.kern.parts.symmetric
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.sympy_helpers module
-----------------------------------
.. automodule:: GPy.kern.parts.sympy_helpers
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.sympykern module
-------------------------------
.. automodule:: GPy.kern.parts.sympykern
:members:
:undoc-members:
:show-inheritance:
GPy.kern.parts.white module
---------------------------
.. automodule:: GPy.kern.parts.white
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.kern.parts
:members:
:undoc-members:
:show-inheritance:

View file

@ -6,27 +6,7 @@ Subpackages
.. toctree::
GPy.kern.parts
Submodules
----------
GPy.kern.constructors module
----------------------------
.. automodule:: GPy.kern.constructors
:members:
:undoc-members:
:show-inheritance:
GPy.kern.kern module
--------------------
.. automodule:: GPy.kern.kern
:members:
:undoc-members:
:show-inheritance:
GPy.kern._src
Module contents
---------------

View file

@ -1,78 +0,0 @@
GPy.likelihoods.noise_models package
====================================
Submodules
----------
GPy.likelihoods.noise_models.bernoulli_noise module
---------------------------------------------------
.. automodule:: GPy.likelihoods.noise_models.bernoulli_noise
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.noise_models.exponential_noise module
-----------------------------------------------------
.. automodule:: GPy.likelihoods.noise_models.exponential_noise
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.noise_models.gamma_noise module
-----------------------------------------------
.. automodule:: GPy.likelihoods.noise_models.gamma_noise
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.noise_models.gaussian_noise module
--------------------------------------------------
.. automodule:: GPy.likelihoods.noise_models.gaussian_noise
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.noise_models.gp_transformations module
------------------------------------------------------
.. automodule:: GPy.likelihoods.noise_models.gp_transformations
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.noise_models.noise_distributions module
-------------------------------------------------------
.. automodule:: GPy.likelihoods.noise_models.noise_distributions
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.noise_models.poisson_noise module
-------------------------------------------------
.. automodule:: GPy.likelihoods.noise_models.poisson_noise
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.noise_models.student_t_noise module
---------------------------------------------------
.. automodule:: GPy.likelihoods.noise_models.student_t_noise
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.likelihoods.noise_models
:members:
:undoc-members:
:show-inheritance:

View file

@ -1,28 +1,29 @@
GPy.likelihoods package
=======================
Subpackages
-----------
.. toctree::
GPy.likelihoods.noise_models
Submodules
----------
GPy.likelihoods.ep module
-------------------------
GPy.likelihoods.bernoulli module
--------------------------------
.. automodule:: GPy.likelihoods.ep
.. automodule:: GPy.likelihoods.bernoulli
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.ep_mixed_noise module
-------------------------------------
GPy.likelihoods.exponential module
----------------------------------
.. automodule:: GPy.likelihoods.ep_mixed_noise
.. automodule:: GPy.likelihoods.exponential
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.gamma module
----------------------------
.. automodule:: GPy.likelihoods.gamma
:members:
:undoc-members:
:show-inheritance:
@ -35,22 +36,6 @@ GPy.likelihoods.gaussian module
:undoc-members:
:show-inheritance:
GPy.likelihoods.gaussian_mixed_noise module
-------------------------------------------
.. automodule:: GPy.likelihoods.gaussian_mixed_noise
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.laplace module
------------------------------
.. automodule:: GPy.likelihoods.laplace
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.likelihood module
---------------------------------
@ -59,10 +44,34 @@ GPy.likelihoods.likelihood module
:undoc-members:
:show-inheritance:
GPy.likelihoods.noise_model_constructors module
-----------------------------------------------
GPy.likelihoods.link_functions module
-------------------------------------
.. automodule:: GPy.likelihoods.noise_model_constructors
.. automodule:: GPy.likelihoods.link_functions
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.mixed_noise module
----------------------------------
.. automodule:: GPy.likelihoods.mixed_noise
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.poisson module
------------------------------
.. automodule:: GPy.likelihoods.poisson
:members:
:undoc-members:
:show-inheritance:
GPy.likelihoods.student_t module
--------------------------------
.. automodule:: GPy.likelihoods.student_t
:members:
:undoc-members:
:show-inheritance:

View file

@ -4,6 +4,14 @@ GPy.mappings package
Submodules
----------
GPy.mappings.additive module
----------------------------
.. automodule:: GPy.mappings.additive
:members:
:undoc-members:
:show-inheritance:
GPy.mappings.kernel module
--------------------------

198
doc/GPy.models.rst Normal file
View file

@ -0,0 +1,198 @@
GPy.models package
==================
Submodules
----------
GPy.models.bayesian_gplvm module
--------------------------------
.. automodule:: GPy.models.bayesian_gplvm
:members:
:undoc-members:
:show-inheritance:
GPy.models.bayesian_gplvm_minibatch module
------------------------------------------
.. automodule:: GPy.models.bayesian_gplvm_minibatch
:members:
:undoc-members:
:show-inheritance:
GPy.models.bcgplvm module
-------------------------
.. automodule:: GPy.models.bcgplvm
:members:
:undoc-members:
:show-inheritance:
GPy.models.gp_classification module
-----------------------------------
.. automodule:: GPy.models.gp_classification
:members:
:undoc-members:
:show-inheritance:
GPy.models.gp_coregionalized_regression module
----------------------------------------------
.. automodule:: GPy.models.gp_coregionalized_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.gp_heteroscedastic_regression module
-----------------------------------------------
.. automodule:: GPy.models.gp_heteroscedastic_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.gp_kronecker_gaussian_regression module
--------------------------------------------------
.. automodule:: GPy.models.gp_kronecker_gaussian_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.gp_multioutput_regression module
-------------------------------------------
.. automodule:: GPy.models.gp_multioutput_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.gp_regression module
-------------------------------
.. automodule:: GPy.models.gp_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.gp_var_gauss module
------------------------------
.. automodule:: GPy.models.gp_var_gauss
:members:
:undoc-members:
:show-inheritance:
GPy.models.gplvm module
-----------------------
.. automodule:: GPy.models.gplvm
:members:
:undoc-members:
:show-inheritance:
GPy.models.gradient_checker module
----------------------------------
.. automodule:: GPy.models.gradient_checker
:members:
:undoc-members:
:show-inheritance:
GPy.models.mrd module
---------------------
.. automodule:: GPy.models.mrd
:members:
:undoc-members:
:show-inheritance:
GPy.models.sparse_gp_classification module
------------------------------------------
.. automodule:: GPy.models.sparse_gp_classification
:members:
:undoc-members:
:show-inheritance:
GPy.models.sparse_gp_coregionalized_regression module
-----------------------------------------------------
.. automodule:: GPy.models.sparse_gp_coregionalized_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.sparse_gp_minibatch module
-------------------------------------
.. automodule:: GPy.models.sparse_gp_minibatch
:members:
:undoc-members:
:show-inheritance:
GPy.models.sparse_gp_multioutput_regression module
--------------------------------------------------
.. automodule:: GPy.models.sparse_gp_multioutput_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.sparse_gp_regression module
--------------------------------------
.. automodule:: GPy.models.sparse_gp_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.sparse_gplvm module
------------------------------
.. automodule:: GPy.models.sparse_gplvm
:members:
:undoc-members:
:show-inheritance:
GPy.models.ss_gplvm module
--------------------------
.. automodule:: GPy.models.ss_gplvm
:members:
:undoc-members:
:show-inheritance:
GPy.models.ss_mrd module
------------------------
.. automodule:: GPy.models.ss_mrd
:members:
:undoc-members:
:show-inheritance:
GPy.models.svigp_regression module
----------------------------------
.. automodule:: GPy.models.svigp_regression
:members:
:undoc-members:
:show-inheritance:
GPy.models.warped_gp module
---------------------------
.. automodule:: GPy.models.warped_gp
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.models
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,30 @@
GPy.plotting.matplot_dep.latent_space_visualizations.controllers package
========================================================================
Submodules
----------
GPy.plotting.matplot_dep.latent_space_visualizations.controllers.axis_event_controller module
---------------------------------------------------------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.latent_space_visualizations.controllers.axis_event_controller
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.latent_space_visualizations.controllers.imshow_controller module
-----------------------------------------------------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.latent_space_visualizations.controllers.imshow_controller
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.plotting.matplot_dep.latent_space_visualizations.controllers
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,17 @@
GPy.plotting.matplot_dep.latent_space_visualizations package
============================================================
Subpackages
-----------
.. toctree::
GPy.plotting.matplot_dep.latent_space_visualizations.controllers
Module contents
---------------
.. automodule:: GPy.plotting.matplot_dep.latent_space_visualizations
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,141 @@
GPy.plotting.matplot_dep package
================================
Subpackages
-----------
.. toctree::
GPy.plotting.matplot_dep.latent_space_visualizations
Submodules
----------
GPy.plotting.matplot_dep.Tango module
-------------------------------------
.. automodule:: GPy.plotting.matplot_dep.Tango
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.base_plots module
------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.base_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.dim_reduction_plots module
---------------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.dim_reduction_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.img_plots module
-----------------------------------------
.. automodule:: GPy.plotting.matplot_dep.img_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.inference_plots module
-----------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.inference_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.kernel_plots module
--------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.kernel_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.mapping_plots module
---------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.mapping_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.maps module
------------------------------------
.. automodule:: GPy.plotting.matplot_dep.maps
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.models_plots module
--------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.models_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.netpbmfile module
------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.netpbmfile
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.priors_plots module
--------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.priors_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.ssgplvm module
---------------------------------------
.. automodule:: GPy.plotting.matplot_dep.ssgplvm
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.svig_plots module
------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.svig_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.variational_plots module
-------------------------------------------------
.. automodule:: GPy.plotting.matplot_dep.variational_plots
:members:
:undoc-members:
:show-inheritance:
GPy.plotting.matplot_dep.visualize module
-----------------------------------------
.. automodule:: GPy.plotting.matplot_dep.visualize
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.plotting.matplot_dep
:members:
:undoc-members:
:show-inheritance:

17
doc/GPy.plotting.rst Normal file
View file

@ -0,0 +1,17 @@
GPy.plotting package
====================
Subpackages
-----------
.. toctree::
GPy.plotting.matplot_dep
Module contents
---------------
.. automodule:: GPy.plotting
:members:
:undoc-members:
:show-inheritance:

View file

@ -13,6 +13,8 @@ Subpackages
GPy.likelihoods
GPy.mappings
GPy.models_modules
GPy.models
GPy.plotting
GPy.testing
GPy.util

View file

@ -4,30 +4,6 @@ GPy.testing package
Submodules
----------
GPy.testing.bcgplvm_tests module
--------------------------------
.. automodule:: GPy.testing.bcgplvm_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.bgplvm_tests module
-------------------------------
.. automodule:: GPy.testing.bgplvm_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.cgd_tests module
----------------------------
.. automodule:: GPy.testing.cgd_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.examples_tests module
---------------------------------
@ -36,18 +12,26 @@ GPy.testing.examples_tests module
:undoc-members:
:show-inheritance:
GPy.testing.gp_transformation_tests module
------------------------------------------
GPy.testing.fitc module
-----------------------
.. automodule:: GPy.testing.gp_transformation_tests
.. automodule:: GPy.testing.fitc
:members:
:undoc-members:
:show-inheritance:
GPy.testing.gplvm_tests module
------------------------------
GPy.testing.index_operations_tests module
-----------------------------------------
.. automodule:: GPy.testing.gplvm_tests
.. automodule:: GPy.testing.index_operations_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.inference_tests module
----------------------------------
.. automodule:: GPy.testing.inference_tests
:members:
:undoc-members:
:show-inheritance:
@ -68,18 +52,34 @@ GPy.testing.likelihood_tests module
:undoc-members:
:show-inheritance:
GPy.testing.mapping_tests module
--------------------------------
GPy.testing.model_tests module
------------------------------
.. automodule:: GPy.testing.mapping_tests
.. automodule:: GPy.testing.model_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.mrd_tests module
----------------------------
GPy.testing.observable_tests module
-----------------------------------
.. automodule:: GPy.testing.mrd_tests
.. automodule:: GPy.testing.observable_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.parameterized_tests module
--------------------------------------
.. automodule:: GPy.testing.parameterized_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.pickle_tests module
-------------------------------
.. automodule:: GPy.testing.pickle_tests
:members:
:undoc-members:
:show-inheritance:
@ -92,38 +92,6 @@ GPy.testing.prior_tests module
:undoc-members:
:show-inheritance:
GPy.testing.psi_stat_expectation_tests module
---------------------------------------------
.. automodule:: GPy.testing.psi_stat_expectation_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.psi_stat_gradient_tests module
------------------------------------------
.. automodule:: GPy.testing.psi_stat_gradient_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.sparse_gplvm_tests module
-------------------------------------
.. automodule:: GPy.testing.sparse_gplvm_tests
:members:
:undoc-members:
:show-inheritance:
GPy.testing.unit_tests module
-----------------------------
.. automodule:: GPy.testing.unit_tests
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------

View file

@ -1,30 +0,0 @@
GPy.util.latent_space_visualizations.controllers package
========================================================
Submodules
----------
GPy.util.latent_space_visualizations.controllers.axis_event_controller module
-----------------------------------------------------------------------------
.. automodule:: GPy.util.latent_space_visualizations.controllers.axis_event_controller
:members:
:undoc-members:
:show-inheritance:
GPy.util.latent_space_visualizations.controllers.imshow_controller module
-------------------------------------------------------------------------
.. automodule:: GPy.util.latent_space_visualizations.controllers.imshow_controller
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: GPy.util.latent_space_visualizations.controllers
:members:
:undoc-members:
:show-inheritance:

View file

@ -1,17 +0,0 @@
GPy.util.latent_space_visualizations package
============================================
Subpackages
-----------
.. toctree::
GPy.util.latent_space_visualizations.controllers
Module contents
---------------
.. automodule:: GPy.util.latent_space_visualizations
:members:
:undoc-members:
:show-inheritance:

View file

@ -1,24 +1,9 @@
GPy.util package
================
Subpackages
-----------
.. toctree::
GPy.util.latent_space_visualizations
Submodules
----------
GPy.util.Tango module
---------------------
.. automodule:: GPy.util.Tango
:members:
:undoc-members:
:show-inheritance:
GPy.util.block_matrices module
------------------------------
@ -27,6 +12,14 @@ GPy.util.block_matrices module
:undoc-members:
:show-inheritance:
GPy.util.caching module
-----------------------
.. automodule:: GPy.util.caching
:members:
:undoc-members:
:show-inheritance:
GPy.util.classification module
------------------------------
@ -51,6 +44,14 @@ GPy.util.datasets module
:undoc-members:
:show-inheritance:
GPy.util.debug module
---------------------
.. automodule:: GPy.util.debug
:members:
:undoc-members:
:show-inheritance:
GPy.util.decorators module
--------------------------
@ -75,6 +76,30 @@ GPy.util.erfcx module
:undoc-members:
:show-inheritance:
GPy.util.functions module
-------------------------
.. automodule:: GPy.util.functions
:members:
:undoc-members:
:show-inheritance:
GPy.util.gpu_init module
------------------------
.. automodule:: GPy.util.gpu_init
:members:
:undoc-members:
:show-inheritance:
GPy.util.initialization module
------------------------------
.. automodule:: GPy.util.initialization
:members:
:undoc-members:
:show-inheritance:
GPy.util.linalg module
----------------------
@ -83,6 +108,14 @@ GPy.util.linalg module
:undoc-members:
:show-inheritance:
GPy.util.linalg_gpu module
--------------------------
.. automodule:: GPy.util.linalg_gpu
:members:
:undoc-members:
:show-inheritance:
GPy.util.ln_diff_erfs module
----------------------------
@ -107,6 +140,14 @@ GPy.util.mocap module
:undoc-members:
:show-inheritance:
GPy.util.mpi module
-------------------
.. automodule:: GPy.util.mpi
:members:
:undoc-members:
:show-inheritance:
GPy.util.multioutput module
---------------------------
@ -123,18 +164,26 @@ GPy.util.netpbmfile module
:undoc-members:
:show-inheritance:
GPy.util.plot module
--------------------
GPy.util.normalizer module
--------------------------
.. automodule:: GPy.util.plot
.. automodule:: GPy.util.normalizer
:members:
:undoc-members:
:show-inheritance:
GPy.util.plot_latent module
---------------------------
GPy.util.parallel module
------------------------
.. automodule:: GPy.util.plot_latent
.. automodule:: GPy.util.parallel
:members:
:undoc-members:
:show-inheritance:
GPy.util.pca module
-------------------
.. automodule:: GPy.util.pca
:members:
:undoc-members:
:show-inheritance:
@ -155,14 +204,6 @@ GPy.util.subarray_and_sorting module
:undoc-members:
:show-inheritance:
GPy.util.symbolic module
------------------------
.. automodule:: GPy.util.symbolic
:members:
:undoc-members:
:show-inheritance:
GPy.util.univariate_Gaussian module
-----------------------------------
@ -171,14 +212,6 @@ GPy.util.univariate_Gaussian module
:undoc-members:
:show-inheritance:
GPy.util.visualize module
-------------------------
.. automodule:: GPy.util.visualize
:members:
:undoc-members:
:show-inheritance:
GPy.util.warping_functions module
---------------------------------

View file

@ -11,6 +11,30 @@
# All configuration values have a default; values that are commented out
# serve to show the default.
#autodoc_default_flags = ['members', 'show-inheritance', 'private-members', 'special-members']
#autodoc_default_flags = ['private-members', 'special-members']
#autodoc_default_flags = 'private-members'
#autodoc_member_order = "source"
#def autodoc_skip_member(app, what, name, obj, skip, options):
#exclusions = ('__weakref__', # special-members
#'__doc__', '__module__', '__dict__', # undoc-members
#)
#exclude = name in exclusions
#inclusions = ('_src')
#include = name in inclusions
#if include:
#print app, what, name, obj, skip, options
#return False
#return skip or exclude
#def setup(app):
##app.connect('autodoc-process-docstring', cut_lines(2))
##app.connect('autodoc_default_flags', autodoc_default_flags)
##app.connect('autodoc_member_order', autodoc_member_order)
#app.connect('autodoc-skip-member', autodoc_skip_member)
import sys
import os
@ -111,10 +135,11 @@ MOCK_MODULES = ['sympy',
for mod_name in MOCK_MODULES:
sys.modules[mod_name] = Mock()
# ----------------------- READTHEDOCS ------------------
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
on_rtd = True
#on_rtd = True
if on_rtd:
sys.path.append(os.path.abspath('../GPy'))
@ -126,7 +151,8 @@ if on_rtd:
proc = subprocess.Popen("ls ../", stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print "program output:", out
proc = subprocess.Popen("sphinx-apidoc -f -o . ../GPy", stdout=subprocess.PIPE, shell=True)
#Lets regenerate our rst files from the source, -P adds private modules (i.e kern._src)
proc = subprocess.Popen("sphinx-apidoc -P -f -o . ../GPy", stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print "program output:", out
#proc = subprocess.Popen("whereis numpy", stdout=subprocess.PIPE, shell=True)
@ -397,5 +423,3 @@ epub_copyright = u'2013, Author'
# Allow duplicate toc entries.
#epub_tocdup = True
autodoc_member_order = "source"

View file

@ -5,15 +5,22 @@
Welcome to GPy's documentation!
===============================
For a quick start, you can have a look at one of the tutorials:
* `Basic Gaussian process regression <tuto_GP_regression.html>`_
* `Interacting with models <tuto_interacting_with_models.html>`_
* `A kernel overview <tuto_kernel_overview.html>`_
* `Writing new kernels <tuto_creating_new_kernels.html>`_
* `Writing new models <tuto_creating_new_models.html>`_
`GPy <http://sheffieldml.github.io/GPy/>`_ is a Gaussian Process (GP) framework written in Python, from the Sheffield machine learning group.
You may also be interested by some examples in the GPy/examples folder.
The `GPy homepage <http://sheffieldml.github.io/GPy/>`_ contains tutorials for users and further information on the project, including installation instructions.
This documentation is mostly aimed at developers interacting closely with the code-base.
The code can be found on our `Github project page <https://github.com/SheffieldML/GPy>`_. It is open source and provided under the BSD license.
.. * `Basic Gaussian process regression <tuto_GP_regression.html>`_
.. * `Interacting with models <tuto_interacting_with_models.html>`_
.. * `A kernel overview <tuto_kernel_overview.html>`_
.. * `Writing new kernels <tuto_creating_new_kernels.html>`_
.. * `Writing new models <tuto_creating_new_models.html>`_
.. * `Parameterization handles <tuto_parameterized.html>`_
.. You may also be interested by some examples in the GPy/examples folder.
The detailed Developers Documentation is listed below
=====================================================
@ -21,8 +28,8 @@ The detailed Developers Documentation is listed below
Contents:
.. toctree::
:maxdepth: 4
:maxdepth: 2
GPy

31
doc/installation.rst Normal file
View file

@ -0,0 +1,31 @@
==============
Installation
==============
Linux
============
Windows
======================
One easy way to get a Python distribution with the required packages is to use the Anaconda environment from Continuum Analytics.
* Download and install the free version of Anaconda according to your operating system from `their website <https://store.continuum.io>`_.
* Open a (new) terminal window:
* Navigate to Applications/Accessories/cmd, or
* open *anaconda Command Prompt* from windows *start*
You should now be able to launch a Python interpreter by typing *ipython* in the terminal. In the ipython prompt, you can check your installation by importing the libraries we will need later:
::
$ import numpy
$ import pylab
To install the latest version of GPy, *git* is required. A *git* client on Windows can be found `here <http://git-scm.com/download/win>`_. It is recommened to install with the option "*Use Git from the Windows Command Prompt*". Then, GPy can be installed with the following command
::
pip install git+https://github.com/SheffieldML/GPy.git@devel
MacOSX
===================================

176
doc/log.txt Normal file
View file

@ -0,0 +1,176 @@
/home/alans/Work/GPy/GPy/__init__.py:docstring of GPy.load:1: WARNING: Inline interpreted text or phrase reference start-string without end-string.
/home/alans/Work/GPy/GPy/core/gp.py:docstring of GPy.core.gp.GP.optimize:8: ERROR: Unknown interpreted text role "module".
/home/alans/Work/GPy/GPy/core/gp.py:docstring of GPy.core.gp.GP.predictive_gradients:5: ERROR: Unexpected indentation.
/home/alans/Work/GPy/GPy/core/gp.py:docstring of GPy.core.gp.GP.predictive_gradients:8: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/core/model.py:docstring of GPy.core.model.Model.optimize_restarts:29: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/doc/GPy.core.rst:65: WARNING: autodoc: failed to import module u'GPy.core.symbolic'; the following exception was raised:
Traceback (most recent call last):
File "/home/alans/anaconda/envs/GPy/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 335, in import_object
__import__(self.modname)
File "/home/alans/Work/GPy/GPy/core/symbolic.py", line 10, in <module>
from sympy.utilities.lambdify import lambdastr, _imp_namespace, _get_namespace
ImportError: No module named lambdify
/home/alans/Work/GPy/GPy/core/parameterization/parameter_core.py:docstring of GPy.core.parameterization.parameter_core.Indexable.unset_priors:1: WARNING: Inline emphasis start-string without end-string.
/home/alans/Work/GPy/GPy/core/parameterization/parameter_core.py:docstring of GPy.core.parameterization.parameter_core.Nameable.hierarchy_name:4: WARNING: Field list ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/core/parameterization/parameter_core.py:docstring of GPy.core.parameterization.parameter_core.Observable.notify_observers:5: SEVERE: Unexpected section title or transition.
^^^^^^^^^^^^^^^^
/home/alans/Work/GPy/GPy/core/parameterization/parameter_core.py:docstring of GPy.core.parameterization.parameter_core.Observable.notify_observers:6: WARNING: Definition list ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/core/parameterization/parameter_core.py:docstring of GPy.core.parameterization.parameter_core.Parameterizable.traverse:1: WARNING: Inline emphasis start-string without end-string.
/home/alans/Work/GPy/GPy/core/parameterization/parameter_core.py:docstring of GPy.core.parameterization.parameter_core.Parameterizable.traverse:1: WARNING: Inline strong start-string without end-string.
/home/alans/Work/GPy/GPy/core/parameterization/parameterized.py:docstring of GPy.core.parameterization.parameterized.Parameterized:18: ERROR: Unexpected indentation.
/home/alans/Work/GPy/GPy/core/parameterization/parameterized.py:docstring of GPy.core.parameterization.parameterized.Parameterized:20: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/core/parameterization/ties_and_remappings.py:docstring of GPy.core.parameterization.ties_and_remappings.Tie:18: SEVERE: Unexpected section title or transition.
================================
/home/alans/Work/GPy/GPy/kern/_src/coregionalize.py:docstring of GPy.kern._src.coregionalize.Coregionalize:5: ERROR: Unexpected indentation.
/home/alans/Work/GPy/doc/GPy.kern._src.rst:73: WARNING: autodoc: failed to import module u'GPy.kern._src.hierarchical'; the following exception was raised:
Traceback (most recent call last):
File "/home/alans/anaconda/envs/GPy/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 335, in import_object
__import__(self.modname)
File "/home/alans/Work/GPy/GPy/kern/_src/hierarchical.py", line 4, in <module>
from kernpart import Kernpart
ImportError: No module named kernpart
/home/alans/Work/GPy/GPy/kern/_src/independent_outputs.py:docstring of GPy.kern._src.independent_outputs.IndependentOutputs:9: WARNING: Field list ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/kern/_src/stationary.py:docstring of GPy.kern._src.stationary.Stationary:12: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/kern/_src/stationary.py:docstring of GPy.kern._src.stationary.Stationary:22: ERROR: Unexpected indentation.
/home/alans/Work/GPy/GPy/kern/_src/stationary.py:docstring of GPy.kern._src.stationary.Stationary:23: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/doc/GPy.kern._src.rst:177: WARNING: autodoc: failed to import module u'GPy.kern._src.symbolic'; the following exception was raised:
Traceback (most recent call last):
File "/home/alans/anaconda/envs/GPy/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 335, in import_object
__import__(self.modname)
File "/home/alans/Work/GPy/GPy/kern/_src/symbolic.py", line 5, in <module>
from ...core.symbolic import Symbolic_core
File "/home/alans/Work/GPy/GPy/core/symbolic.py", line 10, in <module>
from sympy.utilities.lambdify import lambdastr, _imp_namespace, _get_namespace
ImportError: No module named lambdify
/home/alans/Work/GPy/GPy/models/gp_kronecker_gaussian_regression.py:docstring of GPy.models.gp_kronecker_gaussian_regression.GPKroneckerGaussianRegression:13: ERROR: Unexpected indentation.
/home/alans/Work/GPy/GPy/models/gp_kronecker_gaussian_regression.py:docstring of GPy.models.gp_kronecker_gaussian_regression.GPKroneckerGaussianRegression:18: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/models/gp_var_gauss.py:docstring of GPy.models.gp_var_gauss.GPVariationalGaussianApproximation:9: WARNING: Definition list ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/models/mrd.py:docstring of GPy.models.mrd.MRD:32: WARNING: Field list ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/models/mrd.py:docstring of GPy.models.mrd.MRD:32: WARNING: Inline interpreted text or phrase reference start-string without end-string.
/home/alans/Work/GPy/GPy/models/mrd.py:docstring of GPy.models.mrd.MRD:34: WARNING: Definition list ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/models/sparse_gp_minibatch.py:docstring of GPy.models.sparse_gp_minibatch.SparseGPMiniBatch:2: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/plotting/matplot_dep/netpbmfile.py:docstring of GPy.plotting.matplot_dep.netpbmfile.imread:6: SEVERE: Unexpected section title.
Examples
--------
/home/alans/Work/GPy/GPy/plotting/matplot_dep/netpbmfile.py:docstring of GPy.plotting.matplot_dep.netpbmfile.imsave:4: SEVERE: Unexpected section title.
Examples
--------
/home/alans/Work/GPy/GPy/testing/likelihood_tests.py:docstring of GPy.testing.likelihood_tests.dparam_checkgrad:6: ERROR: Unexpected indentation.
/home/alans/Work/GPy/GPy/testing/likelihood_tests.py:docstring of GPy.testing.likelihood_tests.dparam_checkgrad:7: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/testing/likelihood_tests.py:docstring of GPy.testing.likelihood_tests.dparam_partial:7: WARNING: Definition list ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/GPy/testing/likelihood_tests.py:docstring of GPy.testing.likelihood_tests.dparam_partial:9: ERROR: Unexpected indentation.
/home/alans/Work/GPy/GPy/util/datasets.py:docstring of GPy.util.datasets.hapmap3:7: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/doc/GPy.util.rst:2: SEVERE: Duplicate ID: "module-GPy.util.diag".
/home/alans/Work/GPy/GPy/util/netpbmfile.py:docstring of GPy.util.netpbmfile.imread:6: SEVERE: Unexpected section title.
Examples
--------
/home/alans/Work/GPy/GPy/util/netpbmfile.py:docstring of GPy.util.netpbmfile.imsave:4: SEVERE: Unexpected section title.
Examples
--------
/home/alans/Work/GPy/doc/GPy.util.rst:2: SEVERE: Duplicate ID: "module-GPy.util.subarray_and_sorting".
/home/alans/Work/GPy/GPy/util/subarray_and_sorting.py:docstring of GPy.util.subarray_and_sorting.common_subarrays:8: ERROR: Unexpected indentation.
/home/alans/Work/GPy/GPy/util/subarray_and_sorting.py:docstring of GPy.util.subarray_and_sorting.common_subarrays:11: SEVERE: Unexpected section title.
Examples:
=========
/home/alans/Work/GPy/GPy/util/subarray_and_sorting.py:docstring of GPy.util.subarray_and_sorting.common_subarrays:19: ERROR: Unexpected indentation.
/home/alans/Work/GPy/GPy/util/subarray_and_sorting.py:docstring of GPy.util.subarray_and_sorting.common_subarrays:21: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/alans/Work/GPy/doc/installation.rst:22: ERROR: Unexpected indentation.
/home/alans/Work/GPy/doc/installation.rst:27: ERROR: Unexpected indentation.
/home/alans/Work/GPy/doc/tuto_creating_new_kernels.rst:58: WARNING: Inline literal start-string without end-string.
/home/alans/Work/GPy/doc/tuto_creating_new_models.rst:24: ERROR: Unknown target name: "parameterized".
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:83: WARNING: Title underline too short.
Interacting with Parameters:
=======================
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:83: WARNING: Title underline too short.
Interacting with Parameters:
=======================
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:109: WARNING: Title underline too short.
Regular expressions
----------------
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:164: WARNING: Title underline too short.
Setting and fetching parameters `parameter_array`
------------------------------------------
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:164: WARNING: Title underline too short.
Setting and fetching parameters `parameter_array`
------------------------------------------
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:220: WARNING: Title underline too short.
Getting the model parameter's gradients
============================
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:220: WARNING: Title underline too short.
Getting the model parameter's gradients
============================
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:236: WARNING: Title underline too short.
Adjusting the model's constraints
================================
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:236: WARNING: Title underline too short.
Adjusting the model's constraints
================================
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:287: WARNING: Title underline too short.
Available Constraints
==============
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:287: WARNING: Title underline too short.
Available Constraints
==============
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:299: WARNING: Title underline too short.
Tying Parameters
============
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:299: WARNING: Title underline too short.
Tying Parameters
============
/home/alans/Work/GPy/doc/tuto_parameterized.rst:3: WARNING: Title overline too short.
*******************
Parameterization handling
*******************
/home/alans/Work/GPy/doc/tuto_parameterized.rst:10: WARNING: Title underline too short.
Parameter handles
==============
/home/alans/Work/GPy/doc/tuto_parameterized.rst:16: WARNING: Title underline too short.
:py:class:`~GPy.core.parameterization.parameterized.Parameterized`
==========
/home/alans/Work/GPy/doc/tuto_parameterized.rst:16: WARNING: Title underline too short.
:py:class:`~GPy.core.parameterization.parameterized.Parameterized`
==========
/home/alans/Work/GPy/doc/tuto_parameterized.rst:21: WARNING: Title underline too short.
:py:class:`~GPy.core.parameterization.param.Param`
===========
/home/alans/Work/GPy/doc/tuto_parameterized.rst:21: WARNING: Title underline too short.
:py:class:`~GPy.core.parameterization.param.Param`
===========
/home/alans/Work/GPy/doc/installation.rst:: WARNING: document isn't included in any toctree
/home/alans/Work/GPy/doc/kernel_implementation.rst:: WARNING: document isn't included in any toctree
/home/alans/Work/GPy/doc/modules.rst:: WARNING: document isn't included in any toctree
/home/alans/Work/GPy/doc/tuto_GP_regression.rst:: WARNING: document isn't included in any toctree
/home/alans/Work/GPy/doc/tuto_creating_new_kernels.rst:: WARNING: document isn't included in any toctree
/home/alans/Work/GPy/doc/tuto_creating_new_models.rst:: WARNING: document isn't included in any toctree
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:: WARNING: document isn't included in any toctree
/home/alans/Work/GPy/doc/tuto_kernel_overview.rst:: WARNING: document isn't included in any toctree
/home/alans/Work/GPy/doc/tuto_parameterized.rst:: WARNING: document isn't included in any toctree
WARNING: dvipng command 'dvipng' cannot be run (needed for math display), check the pngmath_dvipng setting
/home/alans/Work/GPy/doc/tuto_interacting_with_models.rst:336: WARNING: undefined label: creating_new_kernels (if the link has no caption the label must precede a section header)
WARNING: html_static_path entry u'/home/alans/Work/GPy/doc/_static' does not exist

View file

@ -23,15 +23,15 @@ Note that the observations Y include some noise.
The first step is to define the covariance kernel we want to use for the model. We choose here a kernel based on Gaussian kernel (i.e. rbf or square exponential)::
kernel = GPy.kern.rbf(input_dim=1, variance=1., lengthscale=1.)
kernel = GPy.kern.RBF(input_dim=1, variance=1., lengthscale=1.)
The parameter ``input_dim`` stands for the dimension of the input space. The parameters ``variance`` and ``lengthscale`` are optional. Many other kernels are implemented such as:
* linear (``GPy.kern.linear``)
* exponential kernel (``GPy.kern.exponential``)
* Matern 3/2 (``GPy.kern.Matern32``)
* Matern 5/2 (``GPy.kern.Matern52``)
* spline (``GPy.kern.spline``)
* linear (:py:class:`~GPy.kern.Linear`)
* exponential kernel (:py:class:`GPy.kern.Exponential`)
* Matern 3/2 (:py:class:`GPy.kern.Matern32`)
* Matern 5/2 (:py:class:`GPy.kern.Matern52`)
* spline (:py:class:`GPy.kern.Spline`)
* and many others...
The inputs required for building the model are the observations and the kernel::
@ -45,38 +45,28 @@ By default, some observation noise is added to the modle. The functions ``print`
gives the following output: ::
Marginal log-likelihood: -4.479e+00
Name | Value | Constraints | Ties | Prior
-----------------------------------------------------------------
rbf_variance | 1.0000 | | |
rbf_lengthscale | 1.0000 | | |
noise_variance | 1.0000 | | |
Name : GP regression
Log-likelihood : -22.8178418808
Number of Parameters : 3
Parameters:
GP_regression. | Value | Constraint | Prior | Tied to
rbf.variance | 1.0 | +ve | |
rbf.lengthscale | 1.0 | +ve | |
Gaussian_noise.variance | 1.0 | +ve | |
.. figure:: Figures/tuto_GP_regression_m1.png
:align: center
:height: 350px
GP regression model before optimization of the parameters. The shaded region corresponds to 95% confidence intervals (ie +/- 2 standard deviation).
GP regression model before optimization of the parameters. The shaded region corresponds to ~95% confidence intervals (ie +/- 2 standard deviation).
The default values of the kernel parameters may not be relevant for the current data (for example, the confidence intervals seems too wide on the previous figure). A common approach is to find the values of the parameters that maximize the likelihood of the data. There are two steps for doing that with GPy:
The default values of the kernel parameters may not be relevant for
the current data (for example, the confidence intervals seems too wide
on the previous figure). A common approach is to find the values of
the parameters that maximize the likelihood of the data. It as easy as
calling ``m.optimize`` in GPy::
* Constrain the parameters of the kernel to ensure the kernel will always be a valid covariance structure (For example, we don\'t want some variances to be negative!).
* Run the optimization
There are various ways to constrain the parameters of the kernel. The most basic is to constrain all the parameters to be positive::
m.ensure_default_constraints() # or similarly m.constrain_positive('')
but it is also possible to set a range on to constrain one parameter to be fixed. The parameter of ``m.constrain_positive`` is a regular expression that matches the name of the parameters to be constrained (as seen in ``print m``). For example, if we want the variance to be positive, the lengthscale to be in [1,10] and the noise variance to be fixed we can write::
m.unconstrain('') # may be used to remove the previous constrains
m.constrain_positive('.*rbf_variance')
m.constrain_bounded('.*lengthscale',1.,10. )
m.constrain_fixed('.*noise',0.0025)
Once the constrains have been imposed, the model can be optimized::
m.optimize()
m.optimize()
If we want to perform some restarts to try to improve the result of the optimization, we can use the ``optimize_restart`` function::
@ -84,13 +74,15 @@ If we want to perform some restarts to try to improve the result of the optimiza
Once again, we can use ``print(m)`` and ``m.plot()`` to look at the resulting model resulting model::
Marginal log-likelihood: 3.603e+01
Name | Value | Constraints | Ties | Prior
-----------------------------------------------------------------
rbf_variance | 0.8151 | (+ve) | |
rbf_lengthscale | 1.8037 | (1.0, 10.0) | |
noise_variance | 0.0025 | Fixed | |
Name : GP regression
Log-likelihood : 11.947469082
Number of Parameters : 3
Parameters:
GP_regression. | Value | Constraint | Prior | Tied to
rbf.variance | 0.74229417323 | +ve | |
rbf.lengthscale | 1.43020495724 | +ve | |
Gaussian_noise.variance | 0.00325654460991 | +ve | |
.. figure:: Figures/tuto_GP_regression_m2.png
:align: center
:height: 350px
@ -113,30 +105,36 @@ Here is a 2 dimensional example::
Y = np.sin(X[:,0:1]) * np.sin(X[:,1:2])+np.random.randn(50,1)*0.05
# define kernel
ker = GPy.kern.Matern52(2,ARD=True) + GPy.kern.white(2)
ker = GPy.kern.Matern52(2,ARD=True) + GPy.kern.White(2)
# create simple GP model
m = GPy.models.GPRegression(X,Y,ker)
# contrain all parameters to be positive
m.constrain_positive('')
# optimize and plot
m.optimize('tnc', max_f_eval = 1000)
m.optimize(max_f_eval = 1000)
m.plot()
print(m)
The flag ``ARD=True`` in the definition of the Matern kernel specifies that we want one lengthscale parameter per dimension (ie the GP is not isotropic). The output of the last two lines is::
Marginal log-likelihood: 6.682e+01
Name | Value | Constraints | Ties | Prior
---------------------------------------------------------------------
Mat52_variance | 0.3860 | (+ve) | |
Mat52_lengthscale_0 | 2.0578 | (+ve) | |
Mat52_lengthscale_1 | 1.8542 | (+ve) | |
white_variance | 0.0023 | (+ve) | |
noise variance | 0.0000 | (+ve) | |
Name : GP regression
Log-likelihood : 26.787156248
Number of Parameters : 5
Parameters:
GP_regression. | Value | Constraint | Prior | Tied to
add.Mat52.variance | 0.385463739076 | +ve | |
add.Mat52.lengthscale | (2,) | +ve | |
add.white.variance | 0.000835329608514 | +ve | |
Gaussian_noise.variance | 0.000835329608514 | +ve | |
If you want to see the ``ARD`` parameters explicitly print them
directly::
>>> print m.add.Mat52.lengthscale
Index | GP_regression.add.Mat52.lengthscale | Constraint | Prior | Tied to
[0] | 1.9575587 | +ve | | N/A
[1] | 1.9689948 | +ve | | N/A
.. figure:: Figures/tuto_GP_regression_m3.png
:align: center
:height: 350px

View file

@ -35,45 +35,74 @@ The implementation of this function in mandatory.
For all kernparts the first parameter ``input_dim`` corresponds to the dimension of the input space, and the following parameters stand for the parameterization of the kernel.
The following attributes are compulsory: ``self.input_dim`` (the dimension, integer), ``self.name`` (name of the kernel, string), ``self.num_params`` (number of parameters, integer). ::
You have to call ``super(<class_name>, self).__init__(input_dim,
name)`` to make sure the input dimension and name of the kernel are
stored in the right place. These attributes are available as
``self.input_dim`` and ``self.name`` at runtime.
.. The following attributes are compulsory: ``self.input_dim`` (the dimension, integer), ``self.name`` (name of the kernel, string), ``self.num_params`` (number of parameters, integer). ::
Parameterization is done by adding
:py:class:``GPy.core.parameter.Param`` objects to ``self`` and use
them as normal numpy ``array-like``s in yout code. The parameters have
to be added by calling
:py:function:``GPy.core.parameterized:Parameterized.add_parameters``
with the :py:class:``GPy.core.parameter.Param`` objects as arguments.
def __init__(self,input_dim,variance=1.,lengthscale=1.,power=1.):
assert input_dim == 1, "For this kernel we assume input_dim=1"
self.input_dim = input_dim
self.num_params = 3
self.name = 'rat_quad'
self.variance = variance
self.lengthscale = lengthscale
self.power = power
super(RationalQuadratic, self).__init__(input_dim, 'rat_quad')
assert input_dim == 1, "For this kernel we assume input_dim=1"
self.variance = Param('variance', variance)
self.lengthscale = Param('lengtscale', lengthscale)
self.power = Param('power', power)
self.add_parameters(self.variance, self.lengthscale, self.power)
**_get_params(self)**
From now on you can use the parameters ``self.variance,
self.lengthscale, self.power`` as normal numpy ``array-like``s in your
code. Updates from the optimization routine will be done
automatically.
The implementation of this function in mandatory.
**parameters_changed(self)**
This function returns a one dimensional array of length ``self.num_params`` containing the value of the parameters. ::
The implementation of this function is optional.
def _get_params(self):
return np.hstack((self.variance,self.lengthscale,self.power))
This functions deals as a callback for each optimization iteration. If
one optimization step was successfull and the parameters (added by
:py:function:``GPy.core.parameterized:Parameterized.add_parameters``)
this callback function will be called to be able to update any
precomputations for the kernel.
**_set_params(self,x)**
def parameters_changed(self):
# nothing todo here
The implementation of this function in mandatory.
The input is a one dimensional array of length ``self.num_params`` containing the value of the parameters. The function has no output but it updates the values of the attribute associated to the parameters (such as ``self.variance``, ``self.lengthscale``, ...). ::
def _set_params(self,x):
self.variance = x[0]
self.lengthscale = x[1]
self.power = x[2]
.. **_get_params(self)**
**_get_param_names(self)**
.. The implementation of this function in mandatory.
The implementation of this function in mandatory.
.. This function returns a one dimensional array of length ``self.num_params`` containing the value of the parameters. ::
It returns a list of strings of length ``self.num_params`` corresponding to the parameter names. ::
.. def _get_params(self):
.. return np.hstack((self.variance,self.lengthscale,self.power))
def _get_param_names(self):
return ['variance','lengthscale','power']
.. **_set_params(self,x)**
.. The implementation of this function in mandatory.
.. The input is a one dimensional array of length ``self.num_params`` containing the value of the parameters. The function has no output but it updates the values of the attribute associated to the parameters (such as ``self.variance``, ``self.lengthscale``, ...). ::
.. def _set_params(self,x):
.. self.variance = x[0]
.. self.lengthscale = x[1]
.. self.power = x[2]
.. **_get_param_names(self)**
.. The implementation of this function in mandatory.
.. It returns a list of strings of length ``self.num_params`` corresponding to the parameter names. ::
.. def _get_param_names(self):
.. return ['variance','lengthscale','power']
**K(self,X,X2,target)**

View file

@ -8,57 +8,93 @@ In GPy all models inherit from the base class :py:class:`~GPy.core.parameterized
The :py:class:`~GPy.core.model.Model` class provides parameter introspection, objective function and optimization.
In order to fully use all functionality of :py:class:`~GPy.core.model.Model` some methods need to be implemented / overridden. In order to explain the functionality of those methods we will use a wrapper to the numpy ``rosen`` function, which holds input parameters :math:`\mathbf{X}`. Where :math:`\mathbf{X}\in\mathbb{R}^{N\times 1}`.
In order to fully use all functionality of
:py:class:`~GPy.core.model.Model` some methods need to be implemented
/ overridden. And the model needs to be told its parameters, such
that it can provide optimized parameter distribution and handling.
In order to explain the functionality of those methods
we will use a wrapper to the numpy ``rosen`` function, which holds
input parameters :math:`\mathbf{X}`. Where
:math:`\mathbf{X}\in\mathbb{R}^{N\times 1}`.
Obligatory methods
==================
:py:meth:`~GPy.core.model.Model.__init__` :
Initialize the model with the given parameters. In our example we have to store shape information of :math:`\mathbf X` and the parameters themselves::
:py:func:`~GPy.core.model.Model.__init__` :
Initialize the model with the given parameters. These need to
be added to the model by calling
`self.add_parameter(<param>)`, where param needs to be a
parameter handle (See parameterized_ for details).::
self.X = X
self.num_inputs = self.X.shape[0]
assert self.X.ndim == 1, only vector inputs allowed
:py:meth:`~GPy.core.model.Model._get_params` :
Return parameters of the model as a flattened numpy array-like. So, in our example we have to return the input parameters::
return self.X.flatten()
:py:meth:`~GPy.core.model.Model._set_params` :
Set parameters, which have been fetched through :py:meth:`~GPy.core.model.Model._get_params`. In other words, "invert" the functionality of :py:meth:`~GPy.core.model.Model._get_params`::
self.X = params[:self.num_inputs*self.input_dim].reshape(self.num_inputs)
self.X = GPy.Param("input", X)
self.add_parameter(self.X)
:py:meth:`~GPy.core.model.Model.log_likelihood` :
Returns the log-likelihood of the new model. For our example this is just the call to ``rosen``::
Returns the log-likelihood of the new model. For our example
this is just the call to ``rosen`` and as we want to minimize
it, we need to negate the objective.::
return scipy.optimize.rosen(self.X)
return -scipy.optimize.rosen(self.X)
:py:meth:`~GPy.core.model.Model._log_likelihood_gradients` :
Returns the gradients with respect to all parameters::
:py:meth:`~GPy.core.model.Model.parameters_changed` :
Updates the internal state of the model and sets the gradient of
each parameter handle in the hierarchy with respect to the
log_likelihod. Thus here we need to set the negative derivative of
the rosenbrock function for the parameters. In this case it is the
gradient for self.X.::
return scipy.optimize.rosen_der(self.X)
self.X.gradient = -scipy.optimize.rosen_der(self.X)
Here the full code for the `Rosen` class::
from GPy import Model, Param
import scipy
class Rosen(Model):
def __init__(self, X, name='rosenbrock'):
super(Rosen, self).__init__(name=name)
self.X = Param("input", X)
self.add_parameter(self.X)
def log_likelihood(self):
return -scipy.optimize.rosen(self.X)
def parameters_changed(self):
self.X.gradient = -scipy.optimize.rosen_der(self.X)
In order to test the newly created model, we can check the gradients
and optimize a standard rosenbrock run::
>>> m = Rosen(np.array([-1,-1]))
>>> print m
Name : rosenbrock
Log-likelihood : -404.0
Number of Parameters : 2
Parameters:
rosenbrock. | Value | Constraint | Prior | Tied to
input | (2,) | | |
>>> m.checkgrad(verbose=True)
Name | Ratio | Difference | Analytical | Numerical
------------------------------------------------------------------------------------------
rosenbrock.input[[0]] | 1.000000 | 0.000000 | -804.000000 | -804.000000
rosenbrock.input[[1]] | 1.000000 | 0.000000 | -400.000000 | -400.000000
>>> m.optimize()
>>> print m
Name : rosenbrock
Log-likelihood : -6.52150088871e-15
Number of Parameters : 2
Parameters:
rosenbrock. | Value | Constraint | Prior | Tied to
input | (2,) | | |
>>> print m.input
Index | rosenbrock.input | Constraint | Prior | Tied to
[0] | 0.99999994 | | | N/A
[1] | 0.99999987 | | | N/A
>>> print m.gradient
[ -1.91169809e-06, 1.01852309e-06]
This is the optimium for the 2D Rosenbrock function, as expected, and
the gradient of the inputs are almost zero.
Optional methods
================
If you want some special functionality please provide the following methods:
Using the pickle functionality
------------------------------
To be able to use the pickle functionality ``m.pickle(<path>)`` the methods ``getstate(self)`` and ``setstate(self, state)`` have to be provided. The convention for a ``state`` in ``GPy`` is a list of all parameters, which are needed to restore the model. All classes provided in ``GPy`` follow this convention, thus you can just append to the state of the inherited class and call the inherited class' ``setstate`` with the appropriate state.
:py:meth:`~GPy.core.model.Model.getstate` :
This method returns a state of the model, following the memento pattern. As we are inheriting from :py:class:`~GPy.core.model.Model`, we have to return the state of Model as well. In out example we have `X` and `num_inputs` as state::
return Model.getstate(self) + [self.X, self.num_inputs]
:py:meth:`~GPy.core.model.Model.setstate` :
This method restores this model with the given ``state``::
self.num_inputs = state.pop()
self.X = state.pop()
return Model.setstate(self, state)
Currently none.

View file

@ -40,89 +40,199 @@ is shown. For each parameter, the table contains the name
of the parameter, the current value, and in case there are
defined: constraints, ties and prior distrbutions associated. ::
Log-likelihood: 6.309e+02
Name : sparse gp
Log-likelihood : 588.947189413
Number of Parameters : 8
Parameters:
sparse_gp. | Value | Constraint | Prior | Tied to
inducing inputs | (5, 1) | | |
rbf.variance | 1.91644016819 | +ve | |
rbf.lengthscale | 2.62103621347 | +ve | |
Gaussian_noise.variance | 0.00269870373421 | +ve | |
Name | Value | Constraints | Ties | Prior
------------------------------------------------------------------
iip_0_0 | -1.4671 | | |
iip_1_0 | 2.6378 | | |
iip_2_0 | -0.0396 | | |
iip_3_0 | -2.6372 | | |
iip_4_0 | 1.4704 | | |
rbf_variance | 1.5672 | (+ve) | |
rbf_lengthscale | 2.5625 | (+ve) | |
white_variance | 0.0000 | (+ve) | |
noise_variance | 0.0022 | (+ve) | |
In this case the kernel parameters (``rbf_variance``,
``rbf_lengthscale`` and ``white_variance``) as well as
the noise parameter (``noise_variance``), are constrained
to be positive, while the inducing inputs have not
In this case the kernel parameters (``rbf.variance``,
``rbf.lengthscale``) as well as
the likelihood noise parameter (``Gaussian_noise.variance``), are constrained
to be positive, while the inducing inputs have no
constraints associated. Also there are no ties or prior defined.
Setting and fetching parameters by name
=======================================
Another way to interact with the model's parameters is through
the functions ``_get_param_names()``, ``_get_params()`` and
``_set_params()``.
You can also print all subparts of the model, by printing the
subcomponents individually::
``_get_param_names()`` returns a list of the parameters names ::
print m.rbf
['iip_0_0',
'iip_1_0',
'iip_2_0',
'iip_3_0',
'iip_4_0',
'rbf_variance',
'rbf_lengthscale',
'white_variance',
'noise_variance']
This will print the details of this particular parameter handle::
``_get_params()`` returns an array of the parameters values ::
rbf. | Value | Constraint | Prior | Tied to
variance | 1.91644016819 | +ve | |
lengthscale | 2.62103621347 | +ve | |
array([ -1.46705227e+00, 2.63782176e+00, -3.96422982e-02,
-2.63715255e+00, 1.47038653e+00, 1.56724596e+00,
2.56248679e+00, 2.20963633e-10, 2.18379922e-03])
When you want to get a closer look into
multivalue parameters, print them directly::
``_set_params()`` takes an array as input and substitutes
the current values of the parameters for those of the array. For example,
we can define a new array of values and change the parameters as follows: ::
print m.inducing_inputs
new_params = np.array([1.,2.,3.,4.,1.,1.,1.,1.,1.])
m._set_params(new_params)
Index | sparse_gp.inducing_inputs | Constraint | Prior | Tied to
[0 0] | 2.7189499 | | | N/A
[1 0] | 0.02006533 | | | N/A
[2 0] | -1.5299386 | | | N/A
[3 0] | -2.7001675 | | | N/A
[4 0] | 1.4654162 | | | N/A
If we call the function ``_get_params()`` again, we will obtain the new
parameters we have just set.
Interacting with Parameters:
=======================
The preferred way of interacting with parameters is to act on the
parameter handle itself.
Interacting with parameter handles is simple. The names, printed by `print m`
are accessible interactively and programatically. For example try to
set kernels (`rbf`) `lengthscale` to `.2` and print the result::
Parameters can be also set by name using dictionary notations. For example,
let's change the lengthscale to .5: ::
m.rbf.lengthscale = .2
print m
m['rbf_lengthscale'] = .5
You should see this::
Here, the matching accepts a regular expression and therefore all parameters matching that regular expression are set to the given value. In this case rather
than passing as second output a single value, we can also
use a list of arrays. For example, lets change the inducing
inputs: ::
Name : sparse gp
Log-likelihood : 588.947189413
Number of Parameters : 8
Parameters:
sparse_gp. | Value | Constraint | Prior | Tied to
inducing inputs | (5, 1) | | |
rbf.variance | 1.91644016819 | +ve | |
rbf.lengthscale | 0.2 | +ve | |
Gaussian_noise.variance | 0.00269870373421 | +ve | |
m['iip'] = np.arange(-5,0)
This will already have updated the model's inner state, so you can
plot it or see the changes in the posterior `m.posterior` of the model.
Getting the model's likelihood and gradients
Regular expressions
----------------
The model's parameters can also be accessed through regular
expressions, by 'indexing' the model with a regular expression,
matching the parameter name. Through indexing by regular expression,
you can only retrieve leafs of the hierarchy, and you can retrieve the
values matched by calling `values()` on the returned object::
>>> print m['.*var']
Index | sparse_gp.rbf.variance | Constraint | Prior | Tied to
[0] | 2.1500132 | | | N/A
----- | sparse_gp.Gaussian_noise.variance | ---------- | ---------- | -------
[0] | 0.0024268215 | | | N/A
>>> print m['.*var'].values()
[ 2.1500132 0.00242682]
>>> print m['rbf']
Index | sparse_gp.rbf.variance | Constraint | Prior | Tied to
[0] | 2.1500132 | | | N/A
----- | sparse_gp.rbf.lengthscale | ---------- | ---------- | -------
[0] | 2.6782803 | | | N/A
There is access to setting parameters by regular expression,
as well. Here are a few examples of how to set parameters by regular expression::
>>> m['.*var'] = .1
>>> print m['.*var']
Index | sparse_gp.rbf.variance | Constraint | Prior | Tied to
[0] | 0.1 | | | N/A
----- | sparse_gp.Gaussian_noise.variance | ---------- | ---------- | -------
[0] | 0.1 | | | N/A
>>> m['.*var'] = [.1, .2]
>>> print m['.*var']
Index | sparse_gp.rbf.variance | Constraint | Prior | Tied to
[0] | 0.1 | | | N/A
----- | sparse_gp.Gaussian_noise.variance | ---------- | ---------- | -------
[0] | 0.2 | | | N/A
The fact that only leaf nodes can be accesses we can print all
parameters in a flattened view, by printing the regular expression
match of matching all objects::
>>> print m['']
Index | sparse_gp.inducing_inputs | Constraint | Prior | Tied to
[0 0] | -2.6716041 | | | N/A
[1 0] | -1.4665111 | | | N/A
[2 0] | -0.031010293 | | | N/A
[3 0] | 1.4563711 | | | N/A
[4 0] | 2.6803046 | | | N/A
----- | sparse_gp.rbf.variance | ---------- | ---------- | -------
[0] | 0.1 | | | N/A
----- | sparse_gp.rbf.lengthscale | ---------- | ---------- | -------
[0] | 2.6782803 | | | N/A
----- | sparse_gp.Gaussian_noise.variance | ---------- | ---------- | -------
[0] | 0.2 | | | N/A
Setting and fetching parameters `parameter_array`
------------------------------------------
Another way to interact with the model's parameters is through the
`parameter_array`. The Parameter array holds all the parameters of the
model in one place and is editable. It can be accessed through
indexing the model for example you can set all the parameters through
this mechanism::
>>> new_params = np.r_[[-4,-2,0,2,4], [.5,2], [.3]]
>>> print new_params
array([-4. , -2. , 0. , 2. , 4. , 0.5, 2. , 0.3])
>>> m[:] = new_params
>>> print m
Name : sparse gp
Log-likelihood : -147.561160209
Number of Parameters : 8
Parameters:
sparse_gp. | Value | Constraint | Prior | Tied to
inducing inputs | (5, 1) | | |
rbf.variance | 0.5 | +sq | |
rbf.lengthscale | 2.0 | +ve | |
Gaussian_noise.variance | 0.3 | +sq | |
Parameters themselves (leafs of the hierarchy) can be indexed and used
the same way as numpy arrays. First let us set a slice of the
`inducing_inputs`::
>>> m.inducing_inputs[2:, 0] = [1,3,5]
>>> print m.inducing_indputs
Index | sparse_gp.inducing_inputs | Constraint | Prior | Tied to
[0 0] | -4 | | | N/A
[1 0] | -2 | | | N/A
[2 0] | 1 | | | N/A
[3 0] | 3 | | | N/A
[4 0] | 5 | | | N/A
Or you use the parameters as normal numpy arrays for calculations::
>>> precision = 1./m.Gaussian_noise.variance
array([ 3.33333333])
Getting the model's log likelihood
=============================================
Appart form the printing the model, the marginal
log-likelihood can be obtained by using the function
``log_likelihood()``. Also, the log-likelihood gradients
wrt. each parameter can be obtained with the funcion
``_log_likelihood_gradients()``. ::
``log_likelihood()``.::
m.log_likelihood()
-791.15371409346153
>>> m.log_likelihood()
array([-152.83377316])
m._log_likelihood_gradients()
array([ 7.08278455e-03, 1.37118783e+01, 2.66948031e+00,
3.50184014e+00, 7.08278455e-03, -1.43501702e+02,
6.10662266e+01, -2.18472649e+02, 2.14663691e+02])
If you want to ensure the log likelihood as a float, call `float()`
around it::
Removing the model's constraints
>>> float(m.log_likelihood())
-152.83377316356177
Getting the model parameter's gradients
============================
The gradients of a model can shed light on understanding the
(possibly hard) optimization process. The gradients of each parameter
handle can be accessed through their `gradient` field.::
>>> print m.gradient
[ 5.51170031 9.71735112 -4.20282106 -3.45667035 -1.58828165
-2.11549358 12.40292787 -627.75467803]
>>> print m.rbf.gradient
[ -2.11549358 12.40292787]
>>> m.optimize()
>>> print m.gradient
[ -5.98046560e-04 -3.64576085e-04 1.98005930e-04 3.43381219e-04
-6.85685104e-04 -1.28800748e-05 1.08552429e-03 2.74058081e-01]
Adjusting the model's constraints
================================
When we initially call the example, it was optimized and hence the
log-likelihood gradients were close to zero. However, since
@ -130,88 +240,102 @@ we have been changing the parameters, the gradients are far from zero now.
Next we are going to show how to optimize the model setting different
restrictions on the parameters.
Once a constrain has been set on a parameter, it is possible to remove it
with the command ``unconstrain()``, and
just as the previous matching commands, it also accepts regular expression.
In this case we will remove all the constraints: ::
Once a constraint has been set on a parameter, it is possible to remove
it with the command ``unconstrain()``, which can be called on any
parameter handle of the model. The methods `constrain()` and
`unconstrain()` return the indices which were actually unconstrained,
relative to the parameter handle the method was called on. This is
particularly handy for reporting which parameters where reconstrained,
when reconstraining a parameter, which was already constrained::
m.unconstrain('')
>>> m.rbf.variance.unconstrain()
array([0])
>>>m.unconstrain()
array([6, 7])
Constraining and optimising the model
=====================================
A requisite needed for some parameters, such as variances,
is to be positive. This is constraint is easily set
with the function ``constrain_positive()``. Regular expressions
are also accepted. ::
If you want to unconstrain only a specific constraint, you can pass it
as an argument of ``unconstrain(Transformation)`` (:py:class:`~GPy.constraints.Transformation`), or call
the respective method, such as ``unconstrain_fixed()`` (or
``unfix()``) to only unfix fixed parameters.::
m.constrain_positive('.*var')
>>> m.inducing_input[0].fix()
>>> m.unfix()
>>> m.rbf.constrain_positive()
>>> print m
Name : sparse gp
Log-likelihood : 620.741066698
Number of Parameters : 8
Parameters:
sparse_gp. | Value | Constraint | Prior | Tied to
inducing inputs | (5, 1) | | |
rbf.variance | 1.48329711218 | +ve | |
rbf.lengthscale | 2.5430947048 | +ve | |
Gaussian_noise.variance | 0.00229714444128 | | |
For convenience, GPy also provides a catch all function
which ensures that anything which appears to require
positivity is constrianed appropriately::
As you can see, ``unfix()`` only unfixed the inducing_input, and did
not change the positive constraint of the kernel.
m.ensure_default_constraints()
The parameter handles come with default constraints, so you will
rarely be needing to adjust the constraints of a model. In the rare
cases of needing to adjust the constraints of a model, or in need of
fixing some parameters, you can do so with the functions
``constrain_{positive|negative|bounded|fixed}()``.::
Fixing parameters
=================
Parameters values can be fixed using ``constrain_fixed()``.
For example we can define the first inducing input to be
fixed on zero: ::
m['.*var'].constrain_positive()
m.constrain_fixed('iip_0',0)
Bounding parameters
===================
Defining bounding constraints is an easily task in GPy too,
it only requires to use the function ``constrain_bounded()``.
For example, lets bound inducing inputs 2 and 3 to have
values between -4 and -1: ::
Available Constraints
==============
* :py:meth:`~GPy.constraints.Logexp`
* :py:meth:`~GPy.constraints.Exponent`
* :py:meth:`~GPy.constraints.Square`
* :py:meth:`~GPy.constraints.Logistic`
* :py:meth:`~GPy.constraints.LogexpNeg`
* :py:meth:`~GPy.constraints.NegativeExponent`
* :py:meth:`~GPy.constraints.NegativeLogexp`
m.constrain_bounded('iip_(1|2)',-4,-1)
Tying Parameters
================
The values of two or more parameters can be tied together,
so that they share the same value during optimization.
The function to do so is ``tie_params()``. For the example
we are using, it doesn't make sense to tie parameters together,
however for the sake of the example we will tie the white noise
and the variance together. See `A kernel overview <tuto_kernel_overview.html>`_.
for a proper use of the tying capabilities.::
============
Not yet implemented for GPy version 0.6.0
m.tie_params('.*e_var')
Optimizing the model
====================
Once we have finished defining the constraints,
we can now optimize the model with the function
``optimize``.::
m.optimize()
m.Gaussian_noise.constrain_positive()
m.rbf.constrain_positive()
m.optimize()
We can print again the model and check the new results.
The table now shows that ``iip_0_0`` is fixed, ``iip_1_0``
and ``iip_2_0`` are bounded and the kernel parameters are constrained to
be positive. In addition the table now indicates that
white_variance and noise_variance are tied together.::
By deafult, GPy uses the lbfgsb optimizer.
Some optional parameters may be discussed here.
Log-likelihood: 9.967e+01
* ``optimizer``: which optimizer to use, currently there are ``lbfgsb, fmin_tnc,
scg, simplex`` or any unique identifier uniquely identifying an
optimizer. Thus, you can say ``m.optimize('bfgs') for using the
``lbfgsb`` optimizer
* ``messages``: if the optimizer is verbose. Each optimizer has its
own way of printing, so do not be confused by differing messages of
different optimizers
* ``max_iters``: Maximum number of iterations to take. Some optimizers
see iterations as function calls, others as iterations of the
algorithm. Please be advised to look into ``scipy.optimize`` for
more instructions, if the number of iterations matter, so you can
give the right parameters to ``optimize()``
* ``gtol``: only for some optimizers. Will determine the convergence
criterion, as the tolerance of gradient to finish the optimization.
Name | Value | Constraints | Ties | Prior
------------------------------------------------------------------
iip_0_0 | 0.0000 | Fixed | |
iip_1_0 | -2.8834 | (-4, -1) | |
iip_2_0 | -1.9152 | (-4, -1) | |
iip_3_0 | 1.5034 | | |
iip_4_0 | -1.0162 | | |
rbf_variance | 0.0158 | (+ve) | |
rbf_lengthscale | 0.9760 | (+ve) | |
white_variance | 0.0049 | (+ve) | (0) |
noise_variance | 0.0049 | (+ve) | (0) |
Further Reading
===============
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 :ref:`creating_new_models`.
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??.
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`. If you want
to learn how to create kernels, please refer to
:ref:`creating_new_kernels`

View file

@ -0,0 +1,23 @@
.. _parameterized:
*******************
Parameterization handling
*******************
Parameterization in GPy is done through so called parameter handles. The parameter handles are handles to parameters of a model of any kind. A parameter handle can be constrained, fixed, randomized and others. All parameters in GPy have a name, with which they can be accessed in the model. The most common way of accesssing a parameter programmatically though, is by variable name.
Parameter handles
==============
A parameter handle in GPy is a handle on a parameter, as the name suggests. A parameter can be constrained, fixed, randomized and more (See e.g. `working with models`). This gives the freedom to the model to handle parameter distribution and model updates as efficiently as possible. All parameter handles share a common memory space, which is just a flat numpy array, stored in the highest parent of a model hierarchy.
In the following we will introduce and elucidate the different parameter handles which exist in GPy.
:py:class:`~GPy.core.parameterization.parameterized.Parameterized`
==========
A parameterized object itself holds parameter handles and is just a summarization of the parameters below. It can use those parameters to change the internal state of the model and GPy ensures those parameters to allways hold the right value when in an optimization routine or any other update.
:py:class:`~GPy.core.parameterization.param.Param`
===========
The lowest level of parameter is a numpy array. This Param class inherits all functionality of a numpy array and can simply be used as if it where a numpy array. These parameters can be accessed in the same way as a numpy array is indexed.