13#include <MachineLearning/FgIModel.h>
14#include <MachineLearning/FgLikelihoodBaseLayer.h>
15#include <MachineLearning/FgGPBaseLayer.h>
19 namespace MachineLearning
25 template<
typename Scalar>
31 template<
typename Scalar>
49 template<
typename Scalar>
76 DeepGPBaseModel(
const af::array& Y, std::vector<HiddenLayerDescription> descriptions, LogLikType lType = LogLikType::Gaussian);
102 virtual void PredictF(
const af::array& testInputs, af::array& mf, af::array& vf)
override;
113 virtual void SampleY(
const af::array inputs,
int numSamples, af::array& outFunctions)
override;
179 std::vector<int> vNumPseudosPerLayer;
180 std::vector<int> vSize;
182 std::vector<GPBaseLayer<Scalar>*> gpLayer;
185 friend class boost::serialization::access;
191 template<
class Archive>
192 void serialize(Archive& ar,
unsigned int version)
194 ar& boost::serialization::base_object<GPBaseModel<Scalar>>(*this);
202 ar& BOOST_SERIALIZATION_NVP(gpLayer);
203 ar& BOOST_SERIALIZATION_NVP(iNumLayer);
204 ar& BOOST_SERIALIZATION_NVP(vNumPseudosPerLayer);
205 ar& BOOST_SERIALIZATION_NVP(vSize);
Base class with abstract and basic function definitions. All deep GP models will be derived from this...
virtual ~DeepGPBaseModel()
Destructor.
DeepGPBaseModel(const af::array &Y, std::vector< HiddenLayerDescription > descriptions, LogLikType lType=LogLikType::Gaussian)
Constructor.
DeepGPBaseModel(const af::array &Y, HiddenLayerDescription hiddenLayerdescription, LogLikType lType=LogLikType::Gaussian)
Constructor.
DeepGPBaseModel()
Default Constructor.
virtual void PredictF(const af::array &testInputs, af::array &mf, af::array &vf) override
Predict noise free functions values .
virtual void SetParameters(const af::array ¶m) override
Sets the parameters for each optimization iteration.
virtual int GetNumParameters() override
Gets number of parameters.
virtual void SampleY(const af::array inputs, int numSamples, af::array &outFunctions) override
Generate function samples from posterior.
virtual void FixKernelParameters(bool isfixed)
Sets fixation for hyperparameters.
virtual af::array GetParameters() override
Gets the parameters for each optimization iteration.
virtual void UpdateParameters() override
Updates the parameters.
virtual std::vector< GPBaseLayer< Scalar > * > GetGPLayers()
Gets vector of GP layers.
virtual int GetNumLayers()
Gets number of GP layers.
Base class with abstract and basic function definitions. All GP models will be derived from this clas...
Description of the layer.