12 #ifndef MLPACK_METHODS_HMM_HMM_MODEL_HPP 13 #define MLPACK_METHODS_HMM_HMM_MODEL_HPP 47 discreteHMM(new
HMM<distribution::DiscreteDistribution>()),
89 discreteHMM(other.discreteHMM),
90 gaussianHMM(other.gaussianHMM),
95 other.gaussianHMM = NULL;
138 template<
typename ActionType,
139 typename ExtraInfoType>
143 ActionType::Apply(*discreteHMM, x);
145 ActionType::Apply(*gaussianHMM, x);
147 ActionType::Apply(*gmmHMM, x);
151 template<
typename Archive>
154 ar & BOOST_SERIALIZATION_NVP(type);
157 if (Archive::is_loading::value)
169 ar & BOOST_SERIALIZATION_NVP(discreteHMM);
171 ar & BOOST_SERIALIZATION_NVP(gaussianHMM);
173 ar & BOOST_SERIALIZATION_NVP(gmmHMM);
HMM< distribution::DiscreteDistribution > * DiscreteHMM()
Accessor methods for discreteHMM, gaussianHMM and gmmHMM.
void PerformAction(ExtraInfoType *x)
Given a functor type, perform that functor with the optional extra info on the HMM.
HMM< gmm::GMM > * GMMHMM()
HMMModel(HMMModel &&other)
Take ownership of another model.
A class that represents a Hidden Markov Model with an arbitrary type of emission distribution.
HMMModel(const HMMType type)
Construct a model of the given type.
A serializable HMM model that also stores the type.
void serialize(Archive &ar, const unsigned int)
Serialize the model.
HMMModel()
Construct an uninitialized model.
HMMModel(const HMMModel &other)
Copy another model.
HMM< distribution::GaussianDistribution > * GaussianHMM()
HMMModel & operator=(const HMMModel &other)
Copy assignment operator.