diff --git a/GPy/core/__init__.py b/GPy/core/__init__.py index 6f466652..45113474 100644 --- a/GPy/core/__init__.py +++ b/GPy/core/__init__.py @@ -2,7 +2,21 @@ # Licensed under the BSD 3-clause license (see LICENSE.txt) """ -This module does... +This module contains the fundamental classes of GPy - classes that are inherited by objects in other parts of GPy in order to provide a consistent interface to major functionality. + +.. inheritance-diagram:: GPy.core.gp.GP + :top-classes: paramz.core.parameter_core.Parameterizable + +:py:class:`GPy.core.model` is inherited by :py:class:`GPy.core.gp.GP`. And :py:class:`GPy.core.model` itself inherits :py:class:`paramz.model.Model` from the `paramz` package. `paramz` essentially provides an inherited set of properties and functions used to manage state (and state changes) of the model. + +:py:class:`GPy.core.gp.GP` represents a GP model. Such an entity is typically passed variables representing known (x) and observed (y) data, along with a kernel and other information needed to create the specific model. It exposes functions which return information derived from the inputs to the model, for example predicting unobserved variables based on new known variables, or the log marginal likelihood of the current state of the model. + +:py:func:`~GPy.core.gp.GP.optimize` is called to optimize hyperparameters of the model. The optimizer argument takes a string which is used to specify non-default optimization schemes. + +Various plotting functions can be called against :py:class:`GPy.core.gp.GP`. + +:py:class:`GPy.core.gp.GP` is inherited by :py:class:`GPy.core.gp_grid`, :py:class:`GPy.core.sparse_gp`, different types of GP model. + """ diff --git a/doc/source/architecture.rst b/doc/source/architecture.rst new file mode 100644 index 00000000..b63166aa --- /dev/null +++ b/doc/source/architecture.rst @@ -0,0 +1,4 @@ +GPy Project Architecture +======================== + + diff --git a/doc/source/conf.py b/doc/source/conf.py index 079573b3..b1cea5eb 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -83,8 +83,13 @@ extensions = [ #'sphinx.ext.coverage', 'sphinx.ext.mathjax', 'sphinx.ext.viewcode', + 'sphinx.ext.graphviz', + 'sphinx.ext.inheritance_diagram', ] +#---sphinx.ext.inheritance_diagram config +inheritance_graph_attrs = dict(rankdir="TB") + #----- Autodoc #import sys #try: diff --git a/doc/source/index.rst b/doc/source/index.rst index b974acd3..61a605d9 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -25,6 +25,12 @@ Tutorials Several tutorials have been developed in the form of `Jupyter Notebooks `_. +.. toctree:: + :maxdepth: 1 + :caption: Architecture + + architecture + .. toctree:: :maxdepth: 1 :caption: For developers