11

我使用拥抱面转换器在 Pytorch 中微调了预训练的 BERT 模型。所有的训练/验证都是在云端的 GPU 上完成的。

在训练结束时,我保存模型和标记器,如下所示:

best_model.save_pretrained('./saved_model/')
tokenizer.save_pretrained('./saved_model/')

这将在目录中创建以下文件saved_model

config.json
added_token.json
special_tokens_map.json
tokenizer_config.json
vocab.txt
pytorch_model.bin

现在,我将saved_model目录下载到我的计算机中,并希望加载模型和标记器。我可以像下面这样加载模型

model = torch.load('./saved_model/pytorch_model.bin',map_location=torch.device('cpu'))

但是如何加载标记器?我是 pytorch 的新手,不确定因为有多个文件。可能我没有以正确的方式保存模型?

4

1 回答 1

13

如果您查看语法,它是您应该通过的预训练模型的目录。因此,加载标记器的正确方法必须是:

tokenizer = BertTokenizer.from_pretrained(<Path to the directory containing pretrained model/tokenizer>)

在你的情况下:

tokenizer = BertTokenizer.from_pretrained('./saved_model/')

./saved_model这是您将保存预训练模型和标记器的目录。

于 2019-10-17T08:00:44.627 回答