13#include <NeMachineLearningLib.h>
14#include <MachineLearning/FgArrayFireSerialization.h>
15#include <boost/serialization/shared_ptr.hpp>
21 namespace MachineLearning
27 template<
typename Scalar>
30 template<
typename Scalar>
40 template<
typename Scalar>
225 std::vector<std::shared_ptr<GPNode<Scalar>>> mChild;
228 friend class boost::serialization::access;
232 template<
class Archive>
233 void serialize(Archive& ar,
unsigned int version)
240 ar& BOOST_SERIALIZATION_NVP(mParent);
241 ar& BOOST_SERIALIZATION_NVP(mChild);
Sparse deep GPLVM via Approximated Expectation Propagation (AEP).
Sparse GPLVM via Approximated Expectation Propagation (AEP).
This class represents grouping nodes in a hiearchy.
int GetNumChildren() const
Gets the number of children of this item.
int DetachChild(std::shared_ptr< GPNode< Scalar > > const &child)
Detaches a child.
GPNode()
Default constructor.
std::shared_ptr< GPNode< Scalar > > GetChild(int i)
Gets a child at index.
void SetParent(GPNode< Scalar > *parent)
Access to the parent object. Node calls this during attach/detach of children.
std::shared_ptr< GPNode< Scalar > > SetChild(int i, std::shared_ptr< GPNode< Scalar > > const &child)
Sets a child.
GPNode< Scalar > * GetParent()
Access to the parent object, which is null for the root of the hierarchy.
void DetachAllChildren()
Detach all children from this node.
std::shared_ptr< GPNode< Scalar > > DetachChildAt(int i)
Detaches a child at index.
int AttachChild(std::shared_ptr< GPNode< Scalar > > const &child)
Attaches a child.
virtual ~GPNode()
Destructor.