0
BertTokenizer.save_pretrained("OUTPUT_DIR")

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

如何使用这些进行推理,最好是使用torchtext?

4

1 回答 1

0

为了执行推理,您必须再次加载标记器和模型,如下所示(这里我假设您训练的模型是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)

tokenizer 会将句子转换成 BERT 可以理解的格式(即输入 ids、token type ids 等作为 PyTorch 张量),包括填充和截断。该outputs变量是一个 Python 元组,包含原始 logits。

于 2020-09-07T08:32:01.507 回答