Julius 4.2
関数
libsent/src/phmm/gprune_common.c

混合ガウス分布計算: Gaussian pruning (共通部) [詳細]

#include <sent/stddefs.h>
#include <sent/htk_hmm.h>
#include <sent/htk_param.h>
#include <sent/hmm.h>
#include <sent/hmm_calc.h>

ソースコードを見る。

関数

static int find_insert_point (LOGPROB *calced_score, LOGPROB score, int len)
 Find where the new value should be inserted to the OP_cacled_score, already sorted by score, using binary search.
int cache_push (HMMWork *wrk, int id, LOGPROB score, int len)
 Store a score to the current list of computed Gaussians.

説明

混合ガウス分布計算: Gaussian pruning (共通部)

ここには Gaussian pruningにおいて各アルゴリズムで共通に用いられる キャッシュ操作関数などが含まれています.

作者:
Akinobu LEE
日付:
Fri Feb 18 18:10:58 2005
Revision:
1.3

gprune_common.c で定義されています。


関数

static int find_insert_point ( LOGPROB calced_score,
LOGPROB  score,
int  len 
) [static]

Find where the new value should be inserted to the OP_cacled_score, already sorted by score, using binary search.

引数:
score[in] the new score to be inserted
len[in] length of data in OP_calced_score
戻り値:
the insertion point.

gprune_common.c48 行で定義されています。

参照元 cache_push().

int cache_push ( HMMWork wrk,
int  id,
LOGPROB  score,
int  len 
)

Store a score to the current list of computed Gaussians.

Store the calculated score of a Gaussian to OP_calced_score, with its corresponding mixture id to OP_calced_id.

The OP_calced_score and OP_calced_id always holds the (OP_gprune_num)-best scores and ids. If the number of stored Gaussian from start has reached OP_gprune_num and the given score is below the bottom, it will be dropped. Else, the new score will be inserted and the bottom will be dropped from the list.

The OP_calced_score will always kept sorted by the scores.

引数:
wrk[i/o] HMM computation work area
id[in] mixture id of the Gaussian to store
score[in] score of the Gaussian to store
len[in] current number of stored scores in OP_calced_score
戻り値:
the resulting number of stored scores in OP_calced_score.

gprune_common.c88 行で定義されています。

参照元 gprune_beam(), gprune_heu(), と gprune_safe().