fairseq beam search 源码阅读笔记
发布时间
阅读量:
阅读量
说明
采用的fairseq版本为0.6.2
fairseq中实现beam search的逻辑代码位于fairseq.sequence_generator.SequenceGanerator:generate
SequenceGenerator模块承担了整个搜索流程的处理工作,其运行机制大致如下:
- 在每个时间步长中,通过调用self.search.step方法获取可能的候选序列,将搜索过程中遇到EOS标记的结果纳入候选列表,并对相关参数进行更新,随后继续执行下一步搜索操作。
self.search.step方法则具体实现了用于搜索token的不同策略,例如beam search、带有惩罚机制的beam search以及采样等,相关功能模块位于fairseq.search
代码详细注释
在阅读时由于注释内容不足,因此将代码的逻辑结构直接补充至注释中,以便于理解与查阅。
class SequenceGenerator(object):
def __init__(
self,
tgt_dict,
beam_size=1,
max_len_a=0,
max_len_b=200,
min_len=1,
全部评论 (0)
还没有任何评论哟~
