7 #ifndef MLPACK_METHODS_HMM_HMM_MODEL_HPP 8 #define MLPACK_METHODS_HMM_HMM_MODEL_HPP 42 discreteHMM(new
HMM<distribution::DiscreteDistribution>()),
84 discreteHMM(other.discreteHMM),
85 gaussianHMM(other.gaussianHMM),
90 other.gaussianHMM = NULL;
130 template<
typename ActionType,
131 typename ExtraInfoType>
135 ActionType::Apply(*discreteHMM, x);
137 ActionType::Apply(*gaussianHMM, x);
139 ActionType::Apply(*gmmHMM, x);
143 template<
typename Archive>
149 if (Archive::is_loading::value)
HMMModel(HMMModel &&other)
Take ownership of another model.
HMMType type
The type of the HMM.
Linear algebra utility functions, generally performed on matrices or vectors.
FirstShim< T > CreateNVP(T &t, const std::string &name, typename std::enable_if_t< HasSerialize< T >::value > *=0)
Call this function to produce a name-value pair; this is similar to BOOST_SERIALIZATION_NVP(), but should be used for types that have a Serialize() function (or contain a type that has a Serialize() function) instead of a serialize() function.
HMMModel(const HMMModel &other)
Copy another model.
HMM< distribution::GaussianDistribution > * gaussianHMM
Not used if type is not GaussianHMM.
HMM< distribution::DiscreteDistribution > * discreteHMM
Not used if type is not DiscreteHMM.
A serializable HMM model that also stores the type.
void Serialize(Archive &ar, const unsigned int)
Serialize the model.
HMM< gmm::GMM > * gmmHMM
Not used if type is not GaussianMixtureModelHMM.
HMMModel()
Construct an uninitialized model.
void PerformAction(ExtraInfoType *x)
Given a functor type, perform that functor with the optional extra info on the HMM.
HMMModel(const HMMType type)
Construct a model of the given type.
HMMModel & operator=(const HMMModel &other)
Copy assignment operator.