在互联网访问受限的情况下使用句子转换器

Using sentence transformers with limited access to internet

我可以访问最新的软件包,但我无法从我的 python 环境访问互联网。

我有的版本如下

huggingface-hub-0.4.0 sacremoses-0.0.47 tokenizers-0.10.3 transformers-4.15.0
sentence-transformers-2.1.0 sentencepiece-0.1.96 torchvision-0.11.2

print (torch.__version__)
1.10.1+cu102

我去了 location 并复制了文件夹中的所有文件

os.listdir('multi-qa-mpnet-base-dot-v1_Jan2022/')

['config_sentence_transformers.json',
 'config.json',
 'gitattributes',
 'modules.json',
 'data_config.json',
 'sentence_bert_config.json',
 'README.md',
 'special_tokens_map.json',
 'tokenizer_config.json',
 'train_script.py',
 'vocab.txt',
 'tokenizer.json',
 '1_Pooling',
 '.ipynb_checkpoints',
 '9e1e76b7a067f72e49c7f571cd8e811f7a1567bec49f17e5eaaea899e7bc2c9e']

然后我去了 url 并尝试执行那里列出的代码

但是我得到以下错误

model = SentenceTransformer('multi-qa-mpnet-base-dot-v1_Jan2022/')

OSError: Error no file named ['pytorch_model.bin', 'tf_model.h5', 'model.ckpt.index', 'flax_model.msgpack'] found in directory multi-qa-mpnet-base-dot-v1_Jan2022/ or `from_tf` and `from_flax` set to False.

我在哪里可以获得这 4 个文件 ('pytorch_model.bin', 'tf_model.h5', 'model.ckpt.index', 'flax_model.msgpack') 或者我还需要更改什么?这些文件在上面提到的第一个 URL

处不可用

根据你说的这些,我在Google Colab上查看了sentence-transformers的源代码。 运行 模型和获取文件后,我检查了目录,我在那里看到了 pytorch_model.bin

并且根据sentence-transformers代码: Link

flax_model.msgpackrust_model.ottf_model.h5 在尝试下载时被忽略。

这些是它下载的文件:

['1_Pooling', 'config_sentence_transformers.json', 'tokenizer.json', 'tokenizer_config.json', 'modules.json', 'sentence_bert_config.json', 'pytorch_model.bin', 'special_tokens_map.json', 'config.json', 'train_script.py', 'data_config.json', 'README.md', '.gitattributes', 'vocab.txt']

您唯一需要加载模型的是 pytorch_model.bin 文件。我测试了将模块复制到另一个目录并且它有效。而根据你的问题,你还没有下载这个文件,所以就是这个问题。

总而言之,您应该使用其命令下载模型,然后将文件移动到另一个目录并使用该目录初始化 SentenceTransformer class。

希望对您有所帮助。