在本地下载经过预训练的BERT模型

时间:2020-07-20 18:55:18

标签: python-3.x word-embedding

我正在使用SentenceTransformers库(此处为https://pypi.org/project/sentence-transformers/#pretrained-models)来使用预训练的模型bert-base-nli-mean-tokens创建句子的嵌入。我有一个应用程序,该应用程序将部署到无法访问Internet的设备上。如何在本地保存此模型,以便在调用它时可以在本地加载模型,而不是尝试从Internet下载?正如图书馆维护者明确指出的那样,方法SentenceTransformer是从互联网上下载模型的(参见此处:https://pypi.org/project/sentence-transformers/#pretrained-models),而我找不到在本地保存模型的方法。

2 个答案:

答案 0 :(得分:1)

Hugging face usage

您可以使用Hugging Face转换器库方法在本地下载模型。

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("sentence-transformers/bert-base-nli-mean-tokens")
model = AutoModel.from_pretrained("sentence-transformers/bert-base-nli-mean-tokens")
tokenizer.save_pretrained('./local_directory/')
model.save_pretrained('./local_directory/')

答案 1 :(得分:0)

通过下载实例化 SentenceTransformer 后,您可以使用“save()”方法将其保存到您选择的任何路径。

model = SentenceTransformer('distilbert-base-nli-stsb-mean-tokens')
model.save('/my/local/directory/for/models/')

接受的答案不起作用,因为它没有 SentenceTransformer 正在寻找的封装文件夹和 config.json

相关问题