#include <sent/stddefs.h>
#include <sent/htk_hmm.h>
#include <sent/htk_param.h>
#include <sent/hmm.h>
#include <sent/gprune.h>
#include "globalvars.h"
gprune_heu.cのインクルード依存関係図
関数 | |
static void | init_backmax () |
static void | make_backmax () |
static LOGPROB | compute_g_heu_updating (HTK_HMM_Dens *binfo) |
Calculate probability with maximum value update. | |
static LOGPROB | compute_g_heu_pruning (HTK_HMM_Dens *binfo, LOGPROB thres) |
Calculate probability with pruning. | |
boolean | gprune_heu_init () |
void | gprune_heu (HTK_HMM_Dens **g, int gnum, int *last_id) |
Compute a set of Gaussians with heuristic pruning. | |
変数 | |
static LOGPROB * | backmax |
Backward sum of max for each dimension (inversed). | |
static int | backmax_num |
Length of above. | |
static boolean * | mixcalced |
Mark which Gaussian has been computed. |
heuristic pruning はあまり使われていない手法で,高速化の効果は 他の手法の中間です.
gprune_heu() は outprob_init() によってその関数へのポインタが compute_gaussset にセットされることで使用されます.このポインタが calc_tied_mix() または calc_mix() から呼び出されます.
gprune_heu.c で定義されています。
|
Clear backmax information. gprune_heu.c の 116 行で定義されています。 参照元 gprune_heu(). |
|
Build backmax information for each frame, by summing up current maximum values of each dimensions. gprune_heu.c の 136 行で定義されています。 参照元 gprune_heu(). |
|
Calculate probability with maximum value update. Calculate probability of a Gaussian toward OP_vec, while storing the maximum values of each dimension to backmax. for future pruning. The pruning itself is not performed here. This function will be used to compute the first N Gaussians.
gprune_heu.c の 162 行で定義されています。 参照元 gprune_heu(). |
|
Calculate probability with pruning. Calculate probability of a Gaussian toward OP_vec, performing pruning using threshold and the backmax information that has been set by compute_g_heu_updating() and make_backmax().
gprune_heu.c の 200 行で定義されています。 参照元 gprune_heu(). |
|
Initialize and setup work area for Gaussian pruning by heuristic algorithm.
gprune_heu.c の 235 行で定義されています。 参照元 outprob_init(). |
|
Compute a set of Gaussians with heuristic pruning. If the N-best mixtures in the previous frame is specified in last_id, They are first computed to get the maximum value for each dimension. After that, the rest of the Gaussians will be computed using the maximum values as heuristics of uncomputed dimensions to drop unpromising Gaussians from computation at early stage of likelihood computation. If the last_id is not specified (typically at the first frame of the input), a safe pruning as same as one in gprune_safe.c will be applied. The calculated scores will be stored to OP_calced_score, with its corresponding mixture id to OP_calced_id. These are done by calling cache_push(). The number of calculated mixtures is also stored in OP_calced_num. This can be called from calc_tied_mix() or calc_mix().
gprune_heu.c の 275 行で定義されています。 参照元 outprob_init(). |