13#include <MachineLearning/FgGPBaseLayer.h>
17 namespace MachineLearning
33 template<
typename Scalar>
67 virtual void ForwardPredictionPost(
const af::array* mx,
const af::array* vx, af::array& mout, af::array& vout)
override;
81 virtual void SampleFromPost(
const af::array& inX, af::array& outfsample)
override;
196 virtual void ForwardPredictionRandomPost(
const af::array& mx,
const af::array& vx, af::array& mout, af::array& vout, PropagationMode mode = PropagationMode::MomentMatching);
215 bool isFixedInducing;
218 friend class boost::serialization::access;
220 template<
class Archive>
221 void serialize(Archive& ar,
unsigned int version)
223 ar& boost::serialization::base_object<GPBaseLayer<Scalar>>(*this);
226 ar& BOOST_SERIALIZATION_NVP(ik);
227 ar& BOOST_SERIALIZATION_NVP(afXu);
235 ar& BOOST_SERIALIZATION_NVP(T1);
236 ar& BOOST_SERIALIZATION_NVP(T2);
237 ar& BOOST_SERIALIZATION_NVP(T2_R);
238 ar& BOOST_SERIALIZATION_NVP(isFixedInducing);
Abstract class for different GP likelihood layers.
Abstract class for different GP likelihood layers.
virtual void ForwardPredictionPost(const af::array *mx, const af::array *vx, af::array &mout, af::array &vout) override
Forward prediction of posterior function values.
void ComputeKfu(const af::array &inX)
Calculates the kernel matrix of inputes and pseudo inputs.
virtual void ForwardPredictionRandomPost(const af::array &mx, const af::array &vx, af::array &mout, af::array &vout, PropagationMode mode=PropagationMode::MomentMatching)
Forward prediction through random posterior.
void ComputeKuu()
Calculates the kernel matrix of pseudo inputs.
virtual void SetParameters(const af::array ¶m) override
Sets the parameters for each optimization iteration.
SparseGPBaseLayer()
Default constructor.
virtual void FixInducing(bool isfixed)
Set fixation for inducing inputs.
virtual ~SparseGPBaseLayer()
Destructor.
af::array GetPseudoInputs()
Gets pseudo inputs.
virtual int GetNumParameters() override
Gets number of parameters to be optimized.
SparseGPBaseLayer(int numPoints, int numPseudos, int outputDim, int inputDim)
Constructor.
virtual void SampleFromPost(const af::array &inX, af::array &outfsample) override
Samples from posterior.
virtual void ReinitParameters() override
Reinitializes the parameters.
virtual void InitParameters(af::array *X=nullptr) override
Initializes the parameters.
virtual void ForwardPredictionDeterministicPost(const af::array &mx, af::array *mout, af::array *vout)
Deterministic forward propagation through posterior.
virtual af::array GetParameters() override
Gets the parameters for each optimization iteration.
virtual void UpdateParameters() override
Updates the parameters.