问题
用fairseq对机器翻译模型进行解码时,出现了如下图这样的错误
由错误类型可看出是输出的结果的数据类型和预设的数据类型不匹配,导致无法解码
解决
关于这个问题我参考了中文互联网的许多答案,都没有成功
最后是参考了stackoverflow上的一个答案解决了
做法是将search.py代码中的这一行
torch.div(self.indices_buf, vocab_size, out=self.beams_buf)
替换成如下,就跑通了
torch.floor_div(self.indices_buf, vocab_size, out=self.beams_buf)