有没有一种使用from_pretrained转换器方法推断Torchtext的方法?

问题描述

all

将vocab.txt,special_tokens_map.json和tokenizer_config.json保存到我的输出目录中, 可用的火车模型存储在pytorch_model.bin中,并且配置也在那里。

如何将它们用于推理,最好与torchtext一起使用?

解决方法

为了执行推理,您必须按如下方式再次加载令牌生成器和模型(这里我假设您训练的模型是BertForSequenceClassification):

tokenizer = BertTokenizer.from_pretrained("path_to_directory")
model = BertForSequenceClassification.from_pretrained("path_to_directory")

“ path_to_directory”是字符串,例如"./model"(如果您的目录称为“ model”,并且您当前位于其父目录中)。标记器和模型自动从目录中推断出它们需要哪些文件。标记器将使用vocab.txt文件,模型将使用config.json文件设置其超参数,并使用pytorch_model.bin文件加载预训练的权重。您只需要确保所有这些文件都位于该目录中即可。

您知道如何为BERT等模型提供新句子吗?我对TorchText不熟悉,但是您可以执行以下推断:

sentence = "This is a new sentence"
inputs = tokenizer(sentence,padding='max_length',truncation=True,return_tensors="pt")
outputs = model(**inputs)

令牌生成器会将句子转换为BERT可以理解的格式(即输入ID,令牌类型ID等作为PyTorch张量),包括填充和截断。 outputs变量是一个Python元组,包含原始logits。