我正在使用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),而我找不到在本地保存模型的方法。
答案 0 :(得分:1)
您可以使用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