如何获得火炬轮毂模型产生的翻译的对齐方式或注意信息?

问题描述 投票:1回答:1

割炬轮毂提供了预先训练的模型,例如:https://pytorch.org/hub/pytorch_fairseq_translation/

这些模型可以在python中使用,或与CLI交互使用。使用CLI可以通过--print-alignment标志进行对齐。安装The following code(和pytorch)后,fairseq可在终端中使用

curl https://dl.fbaipublicfiles.com/fairseq/models/wmt14.v2.en-fr.fconv-py.tar.bz2 | tar xvjf -
MODEL_DIR=wmt14.en-fr.fconv-py
fairseq-interactive \
    --path $MODEL_DIR/model.pt $MODEL_DIR \
    --beam 5 --source-lang en --target-lang fr \
    --tokenizer moses \
    --bpe subword_nmt --bpe-codes $MODEL_DIR/bpecodes \ 
    --print-alignment

在python中,可以指定关键字args verboseprint_alignment

import torch

en2fr = torch.hub.load('pytorch/fairseq', 'transformer.wmt14.en-fr', tokenizer='moses', bpe='subword_nmt')

fr = en2fr.translate('Hello world!', beam=5, verbose=True, print_alignment=True)

但是,这只会将对齐方式输出为日志消息。对于fairseq 0.9,它似乎已损坏并导致错误消息(issue)。

是否有一种方法可以从python代码访问对齐信息(甚至可能是完整的关注矩阵?)>

火炬中心提供了预训练的模型,例如:https://pytorch.org/hub/pytorch_fairseq_translation/这些模型可以在python中使用,或与CLI交互使用。使用CLI可以...

machine-learning pytorch translation torch fairseq
1个回答
1
投票

我浏览了fairseq代码库,发现了一种输出对齐信息的简单方法。由于这需要编辑fairseq源代码本身,因此我认为这不是可接受的解决方案。但这可能对某人有帮助(我对如何正确执行此操作仍然很感兴趣)。

© www.soinside.com 2019 - 2024. All rights reserved.