12 #ifndef MLPACK_METHODS_HMM_HMM_MODEL_HPP 13 #define MLPACK_METHODS_HMM_HMM_MODEL_HPP 90 discreteHMM(other.discreteHMM),
91 gaussianHMM(other.gaussianHMM),
93 diagGMMHMM(other.diagGMMHMM)
97 other.gaussianHMM = NULL;
99 other.diagGMMHMM = NULL;
139 discreteHMM = other.discreteHMM;
140 gaussianHMM = other.gaussianHMM;
141 gmmHMM = other.gmmHMM;
142 diagGMMHMM = other.diagGMMHMM;
146 other.gaussianHMM =
nullptr;
147 other.gmmHMM =
nullptr;
148 other.diagGMMHMM =
nullptr;
166 template<
typename ActionType,
167 typename ExtraInfoType>
171 ActionType::Apply(params, *discreteHMM, x);
173 ActionType::Apply(params, *gaussianHMM, x);
175 ActionType::Apply(params, *gmmHMM, x);
177 ActionType::Apply(params, *diagGMMHMM, x);
181 template<
typename Archive>
184 ar(CEREAL_NVP(type));
187 if (cereal::is_loading<Archive>())
HMMModel & operator=(HMMModel &&other)
Move assignment operator.
HMM< distribution::DiscreteDistribution > * DiscreteHMM()
Accessor methods for discreteHMM, gaussianHMM, gmmHMM, and diagGMMHMM.
void PerformAction(util::Params ¶ms, ExtraInfoType *x)
Given a functor type, perform that functor with the optional extra info on the HMM.
Linear algebra utility functions, generally performed on matrices or vectors.
void serialize(Archive &ar, const uint32_t)
Serialize the model.
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.
A serializable HMM model that also stores the type.
#define CEREAL_POINTER(T)
Cereal does not support the serialization of raw pointer.
HMMModel(const HMMType type=HMMType::DiscreteHMM)
Construct a model of the given type.
The Params class holds all information about the parameters passed to a specific binding.
HMM< gmm::DiagonalGMM > * DiagGMMHMM()
HMMModel(const HMMModel &other)
Copy another model.
HMM< distribution::GaussianDistribution > * GaussianHMM()
HMMModel & operator=(const HMMModel &other)
Copy assignment operator.