mlpack
Public Member Functions | List of all members
mlpack::hmm::HMMModel Class Reference

A serializable HMM model that also stores the type. More...

#include <hmm_model.hpp>

Public Member Functions

 HMMModel (const HMMType type=HMMType::DiscreteHMM)
 Construct a model of the given type.
 
 HMMModel (const HMMModel &other)
 Copy another model.
 
 HMMModel (HMMModel &&other)
 Take ownership of another model.
 
HMMModeloperator= (const HMMModel &other)
 Copy assignment operator.
 
HMMModeloperator= (HMMModel &&other)
 Move assignment operator.
 
 ~HMMModel ()
 Clean memory.
 
template<typename ActionType , typename ExtraInfoType >
void PerformAction (ExtraInfoType *x)
 Given a functor type, perform that functor with the optional extra info on the HMM.
 
template<typename Archive >
void serialize (Archive &ar, const uint32_t)
 Serialize the model.
 
HMMType Type ()
 
HMM< distribution::DiscreteDistribution > * DiscreteHMM ()
 Accessor methods for discreteHMM, gaussianHMM, gmmHMM, and diagGMMHMM. More...
 
HMM< distribution::GaussianDistribution > * GaussianHMM ()
 
HMM< gmm::GMM > * GMMHMM ()
 
HMM< gmm::DiagonalGMM > * DiagGMMHMM ()
 

Detailed Description

A serializable HMM model that also stores the type.

Member Function Documentation

◆ DiscreteHMM()

HMM<distribution::DiscreteDistribution>* mlpack::hmm::HMMModel::DiscreteHMM ( )
inline

Accessor methods for discreteHMM, gaussianHMM, gmmHMM, and diagGMMHMM.

Note that an instatiation of this class will only contain one type of HMM (as indicated by the "type" instance variable) - the other two pointers will be NULL.

For instance, if the HMMModel object holds a discrete HMM, then: type –> DiscreteHMM gaussianHMM –> NULL gmmHMM –> NULL diagGMMHMM –> NULL discreteHMM –> HMM<DiscreteDistribution> object and hence, calls to GMMHMM(), DiagGMMHMM() and GaussianHMM() will return NULL. Only the call to DiscreteHMM() will return a non NULL pointer.

Hence, in practice, a user should be careful to first check the type of HMM (by calling the Type() accessor) and then perform subsequent actions, to avoid null pointer dereferences.


The documentation for this class was generated from the following file: