tf.nn.ctc_beam_search_decoder(
inputs,
sequence_length,
beam_width=100,
top_paths=1,
merge_repeated=True
)
定义于tensorflow/python/ops/ctc_ops.py
。
参见指南:神经网络>连接主义时间分类(CTC)
对输入中给出的logits执行波束搜索解码。
注意这ctc_greedy_decoder
是 ctc_beam_search_decoder
with top_paths=1
和beam_width=1
(但解码器在这种特殊情况下更快)的特殊情况。
如果merge_repeated
是True
,则合并输出光束中的重复类。这意味着如果梁中的连续条目相同,则仅发出第一个条目。也就是说,当顶部路径为时A B B B B
,返回值为:
A B
如果merge_repeated = True
。A B B B B
如果merge_repeated = False
。
ARGS:
inputs
:3-Dfloat
Tensor
,尺寸[max_time x batch_size x num_classes]
。The logits.sequence_length
:int32
包含序列长度的1-D 载体,具有大小[batch_size]
。beam_width
:int标量> = 0(波束搜索波束宽度)。top_paths
:int标量> = 0,<= beam_width(控制输出大小)。merge_repeated
:布尔值。默认值:True。
返回:
元组(decoded, log_probabilities)
,其中* decoded
:长度top_paths的列表,其中,decoded[j]
是SparseTensor
包含经解码输出: decoded[j].indices
:指数矩阵
(total_decoded_outputs[j] x 2)
中的行存储:[batch, time]。 decoded[j].values
:值向量,大小(total_decoded_outputs[j])
。向量存储波束j的解码类。 decoded[j].dense_shape
:形状矢量,大小(2)
。形状值为:[batch_size, max_decoded_length[j]]
。
* log_probability
:包含序列对数概率的float
矩阵(batch_size x top_paths)
。