Skip to content

fairseq翻译模型的推理 #3

@dearchill

Description

@dearchill

你好,我在说明文档里看到fairseq框架下gpt-2的使用方法,但没有找到transformer结构的翻译模型的推理方法。我参照说明

Replace the original transformer.py in Fairseq with our transformer.py and reinstall the Fairseq, that is all !

在使用fairseq-generate时报错,说是找不到transformer arch,我发现项目提供的transformer.py文件里没有模型结构注册的地方,只有decoder和embedding等相关的部分,找不到encoder相关的部分。所以我保留了原始的transformer文件,把项目提供的transformer作为新文件,然后把项目extra/fairseq/sequence_generator.py覆盖了原fairseq目录下的sequence_generator(我没理解错的话这里的sequence_generator.py是重写的generator),然后在运行推理时报错:
File "/examples/NMT/fairseq/fairseq/sequence_generator.py", line 811, in forward_decoder
decoder_out = model.decoder.forward(tokens, encoder_out=encoder_out, first_pass=first_pass)
TypeError: forward() got an unexpected keyword argument 'first_pass'

看起来是由于项目重写的EETTransformerDecoder与原来的TransformerDecoder参数不一致导致。
所以想要请教一下有没有什么好的方法来对fairseq训练的翻译模型推理加速吗?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions