athena.tools.ctc_decoder

Module Contents

Functions

log_add(→ float)

Stable log add

ctc_prefix_beam_decoder(→ Tuple[List[Tuple[tuple, ...)

CTC prefix beam search inner implementation

freeze_ctc_prefix_beam_decoder(...)

CTC prefix beam search inner implementation

athena.tools.ctc_decoder.log_add(args: List[float]) float

Stable log add

athena.tools.ctc_decoder.ctc_prefix_beam_decoder(encoder_out: tensorflow.Tensor, ctc_final_layer: tensorflow.keras.layers.Dense, beam_size: int, blank_id: int) Tuple[List[Tuple[tuple, float]], tensorflow.Tensor]

CTC prefix beam search inner implementation reference: https://github.com/wenet-e2e/wenet/blob/main/wenet/transformer/asr_model.py. :param encoder_out: (batch, max_len, feat_dim) :type encoder_out: tf.Tensor :param ctc_final_layer: :type ctc_final_layer: tf.keras.layers.Dense :param beam_size: beam size for beam search :type beam_size: int :param blank_id: blank id :type blank_id: int

Returns

nbest results torch.Tensor: encoder output, (1, max_len, encoder_dim),

it will be used for rescoring in attention rescoring mode

Return type

List[Tuple[tuple, float]]

athena.tools.ctc_decoder.freeze_ctc_prefix_beam_decoder(encoder_out: tensorflow.Tensor, ctc_final_layer: tensorflow.keras.layers.Dense, beam_size: int, blank_id: int) Tuple[List[Tuple[tuple, float]], tensorflow.Tensor]

CTC prefix beam search inner implementation reference: https://github.com/wenet-e2e/wenet/blob/main/wenet/transformer/asr_model.py. :param encoder_out: (batch, max_len, feat_dim) :type encoder_out: tf.Tensor :param ctc_final_layer: :type ctc_final_layer: tf.keras.layers.Dense :param beam_size: beam size for beam search :type beam_size: int :param blank_id: blank id :type blank_id: int

Returns

nbest results torch.Tensor: encoder output, (1, max_len, encoder_dim),

it will be used for rescoring in attention rescoring mode

Return type

List[Tuple[tuple, float]]