我最近开始使用 PyTorch 进行 ML/DL。以下 pytorch 示例说明了我们如何训练一个简单的模型来将德语翻译成英语。
https://pytorch.org/tutorials/beginner/torchtext_translation_tutorial.html
但是,我对如何使用模型对自定义输入进行推理感到困惑。据我目前的理解:
1) 我们需要保存德语(输入)和英语(输出)的“词汇”[使用 torch.save()],以便以后可以使用它们进行预测。
2)在对德语段落进行推理时,我们首先需要使用德语词汇文件将德语文本转换为张量。
3) 将上述张量传递给模型的forward方法进行翻译
4) 模型将再次返回目标语言的张量,即当前示例中的英语。
5)我们将使用第一步保存的英语词汇将此张量转换回英文文本。
问题:
1)如果上述理解是正确的,如果我们知道源语言和目标语言并且拥有相同的词汇文件,上述步骤是否可以被视为在任何语言翻译模型上运行推理的通用方法?或者我们可以使用像 spacy 这样的第三方库提供的词汇吗?
2)我们如何将模型返回的输出张量转换回目标语言?我找不到任何关于如何做到这一点的例子。上面的博客解释了如何使用源语言词汇将输入文本转换为张量。
我可以很容易地找到图像/视觉模型的各种示例和详细说明,但对于文本来说却不多。