You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

tf.contrib.seq2seq.BeamSearchDecoder输出各元素形状咨询

嘿,刚好对这个旧版TensorFlow的beam search解码器有印象,我来给你拆解tf.contrib.seq2seq.BeamSearchDecoderOutput里三个字段的形状细节:

BeamSearchDecoderOutput各字段形状说明

首先要明确:这个类是每一步解码过程中输出的单步结果,三个字段的形状都是基于当前step的,具体如下:

  • scores:形状为 [batch_size, beam_width]
    每个元素对应当前batch里,每个beam候选到这一步为止的累积得分——beam search就是靠这个得分来筛选每一步的top-k候选的。

  • predicted_ids:形状为 [batch_size, beam_width]
    存储当前step每个beam预测出的token ID,每个批量样本对应beam_width个并行的候选预测结果。

  • parent_ids:形状为 [batch_size, beam_width]
    这个是用来回溯路径的关键字段,记录当前step每个beam对应的上一步beam的索引。比如你要还原某个beam的完整生成序列,就可以通过这个字段一步步倒推,找到每一步的来源候选,直到解码起始点。

补充:最终解码结果的形状

如果你是通过tf.contrib.seq2seq.dynamic_decode拿到整个解码过程的最终结果(final_outputs),那里面的predicted_ids会包含整个序列的信息,形状是 [max_decoder_steps, batch_size, beam_width]。通常我们会用转置操作把它调整成[batch_size, beam_width, max_decoder_steps],这样更方便处理每个样本的所有beam生成序列。

内容的提问来源于stack exchange,提问作者lifang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:08:14