13#include <MachineLearning/FgGPLVMBaseModel.h>
14#include <MachineLearning/FgSparseGPBaseLayer.h>
18 namespace MachineLearning
24 template<
typename Scalar>
30 template<
typename Scalar>
48 template<
typename Scalar>
64 Scalar priorMean = 0.0,
Scalar priorVariance = 1.0, LogLikType lType = LogLikType::Gaussian, XInit emethod = XInit::pca);
77 Scalar priorMean = 0.0,
Scalar priorVariance = 1.0, LogLikType lType = LogLikType::Gaussian, XInit emethod = XInit::pca);
112 virtual void PredictF(
const af::array& testInputs, af::array& mf, af::array& vf)
override;
123 virtual void SampleY(
const af::array inputs,
int numSamples, af::array& outFunctions)
override;
199 std::vector<int> vNumPseudosPerLayer;
200 std::vector<int> vSize;
201 std::vector<HiddenLayerDescription> vDescription;
203 std::vector<SparseGPBaseLayer<Scalar>*> gpLayer;
210 friend class boost::serialization::access;
212 template<
class Archive>
213 void serialize(Archive& ar,
unsigned int version)
215 ar& boost::serialization::base_object<GPLVMBaseModel<Scalar>>(*this);
223 ar& BOOST_SERIALIZATION_NVP(iNumLayer);
224 ar& BOOST_SERIALIZATION_NVP(vNumPseudosPerLayer);
225 ar& BOOST_SERIALIZATION_NVP(vSize);
226 ar& BOOST_SERIALIZATION_NVP(vDescription);
227 ar& BOOST_SERIALIZATION_NVP(gpLayer);
Base class with abstract and basic function definitions. All deep GP models will be derived from this...
Base class with abstract and basic function definitions. All deep GP models will be derived from this...
virtual void SampleY(const af::array inputs, int numSamples, af::array &outFunctions) override
Generate function samples from posterior.
virtual void PredictF(const af::array &testInputs, af::array &mf, af::array &vf) override
Predict noise free functions values .
virtual std::vector< SparseGPBaseLayer< Scalar > * > GetGPLayers()
Gets vector of GP layers.
virtual bool Init() override
Initializes the model.
virtual void SetParameters(const af::array ¶m) override
Sets the parameters for each optimization iteration.
virtual int GetNumGPLayerParameters()
Gets number gp layer parameters.
virtual void UpdateParameters() override
Updates the parameters.
virtual ~SparseDeepGPLVMBaseModel()
Destructor.
SparseDeepGPLVMBaseModel()
Default Constructor.
virtual int GetNumParameters() override
Gets number of parameters.
virtual af::array GetParameters() override
Gets the parameters for each optimization iteration.
virtual int GetNumLayers()
Gets number of GP layers.
virtual void FixKernelParameters(bool isfixed)
Sets fixation for hyperparameters.
SparseDeepGPLVMBaseModel(const af::array &Y, int latentDimension, std::vector< HiddenLayerDescription > descriptions, Scalar priorMean=0.0, Scalar priorVariance=1.0, LogLikType lType=LogLikType::Gaussian, XInit emethod=XInit::pca)
Constructor.
SparseDeepGPLVMBaseModel(const af::array &Y, int latentDimension, HiddenLayerDescription description, Scalar priorMean=0.0, Scalar priorVariance=1.0, LogLikType lType=LogLikType::Gaussian, XInit emethod=XInit::pca)
Constructor.
Description of the layer.