length_penalty,early_stopping=early_stopping)for_inrange(batch_size)]# 每个beam容器的得分,共batch_size*num_beams个beam_scores=torch.zeros((batch_size,num_beams),dtype=torch.float,device=encoder_input_ids.device)beam_scores=beam_scores.view(-1)# 每个样本是否完成生成,共batch_size个done=[Falsef...
下面是基础版的beam search函数定义。其中context是编码器编码获得的向量,batch_size是每批数据中包含的样本量,bos_token_id是句子开头标志的token id,pad_token_id是用于填充的token id,eos_token_id是句子结束标志的token id。这里给参数填上的默认值和我们后面讲解时使用的例子是一致的。在函数中...