21 #ifndef KALDI_GMM_EBW_DIAG_GMM_H_ 22 #define KALDI_GMM_EBW_DIAG_GMM_H_ 1 40 std::string module =
"EbwOptions: ";
41 opts->
Register(
"E", &E, module+
"Constant E for Extended Baum-Welch (EBW) update");
42 opts->
Register(
"tau", &tau, module+
"Tau value for smoothing to the model " 43 "parameters only (for smoothing to ML stats, use gmm-ismooth-stats");
53 min_gaussian_weight(1.0e-05),
56 std::string module =
"EbwWeightOptions: ";
57 opts->
Register(
"min-num-count-weight-update", &min_num_count_weight_update,
58 module+
"Minimum numerator count required at " 59 "state level before we update the weights (only active if tau == 0.0)");
60 opts->
Register(
"min-gaussian-weight", &min_gaussian_weight,
61 module+
"Minimum Gaussian weight allowed in EBW update of weights");
63 module+
"Tau value for smoothing Gaussian weight update.");
77 int32 *num_floored_out);
86 int32 *num_floored_out);
132 #endif // KALDI_GMM_EBW_DIAG_GMM_H_ This code computes Goodness of Pronunciation (GOP) and extracts phone-level pronunciation feature for...
void UpdateEbwWeightsDiagGmm(const AccumDiagGmm &num_stats, const AccumDiagGmm &den_stats, const EbwWeightOptions &opts, DiagGmm *gmm, BaseFloat *auxf_change_out, BaseFloat *count_out)
uint16 GmmFlagsType
Bitwise OR of the above flags.
void IsmoothStatsDiagGmm(const AccumDiagGmm &src_stats, double tau, AccumDiagGmm *dst_stats)
I-Smooth the stats. src_stats and dst_stats do not have to be different.
void UpdateEbwDiagGmm(const AccumDiagGmm &num_stats, const AccumDiagGmm &den_stats, GmmFlagsType flags, const EbwOptions &opts, DiagGmm *gmm, BaseFloat *auxf_change_out, BaseFloat *count_out, int32 *num_floored_out)
virtual void Register(const std::string &name, bool *ptr, const std::string &doc)=0
void UpdateEbwWeightsAmDiagGmm(const AccumAmDiagGmm &num_stats, const AccumAmDiagGmm &den_stats, const EbwWeightOptions &opts, AmDiagGmm *am_gmm, BaseFloat *auxf_change_out, BaseFloat *count_out)
void IsmoothStatsAmDiagGmmFromModel(const AmDiagGmm &src_model, double tau, AccumAmDiagGmm *dst_stats)
This version of the I-smoothing function takes a model as input.
void IsmoothStatsAmDiagGmm(const AccumAmDiagGmm &src_stats, double tau, AccumAmDiagGmm *dst_stats)
Smooth "dst_stats" with "src_stats".
void Register(OptionsItf *opts)
BaseFloat min_num_count_weight_update
BaseFloat min_gaussian_weight
Definition for Gaussian Mixture Model with diagonal covariances.
void UpdateEbwAmDiagGmm(const AccumAmDiagGmm &num_stats, const AccumAmDiagGmm &den_stats, GmmFlagsType flags, const EbwOptions &opts, AmDiagGmm *am_gmm, BaseFloat *auxf_change_out, BaseFloat *count_out, int32 *num_floored_out)
void Register(OptionsItf *opts)
void DiagGmmToStats(const DiagGmm &gmm, GmmFlagsType flags, double state_occ, AccumDiagGmm *dst_stats)
Creates stats from the GMM. Resizes them as needed.