在使用SentenceTransformer时,出现了FileNotFoundError错误,位于...\.cache\。

3

有没有人有使用SentenceTransformer(Bert)的经验?

我的代码:

from sentence_transformers import SentenceTransformer
model = SentenceTransformer('roberta-large-nli-stsb-mean-tokens')

我的错误:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\ga2943/.cache\\torch\\sentence_transformers\\public.ukp.informatik.tu-darmstadt.de_reimers_sentence-transformers_v0.2_roberta-large-nli-stsb-mean-tokens.zip\\modules.json'

偶尔我会在运行同一段代码,但换用另一个Bert模型时遇到不同的错误:

PermissionError: [WinError 32] Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird: 'C:\\Users\\ga2943/.cache\\torch\\sentence_transformers\\public.ukp.informatik.tu-darmstadt.de_reimers_sentence-transformers_v0.2_bert-large-nli-cls-token.zip\\model.zip'

数据正在另一个进程中使用,这是不可能的。我已经重新启动了我的机器,以确保所有程序都在后台关闭,但没有任何改变。

第一次运行代码时它可以工作。它下载了我想要的句子编码器(不同的Bert模型)。现在我想测试一个不同的模型,但它不会下载它,而是给我报错。

有趣的是,在另一台电脑上,我能够加载不同的模型,但结果却相同。只有第一次下载的模型可以在该机器上正常工作。

有什么想法吗?还在收到错误信息,没有人知道如何解决吗?


你是怎么运行这段代码的?我的意思是,Python进程是否在第一次运行后停止了? - Kris
3个回答

0

我不得不重新安装所有东西来解决这个问题。我无法确定是什么导致了这个错误。由于我没有自己删除或更新任何内容,我认为Anaconda在没有通知我的情况下修补了一些东西。

第二个错误仍然存在,并且不时地出现。


0

我发现了完全相同的错误。

我是这样解决的。 步骤1:'C:\\Users\\ga2943/.cache\\torch\\sentence_transformers\\public.ukp.informatik.tu-darmstadt.de_reimers_sentence-transformers_v0.2_roberta-large-nli-stsb-mean-tokens.zip\\modules.json'

如果您使用的是 "linux",则删除 /root/.cache/sentcetransformer

步骤2:重新启动容器或程序。

还有另一种方法,您可以下载特定模型并在代码中使用路径


-1

如果您有互联网,您可以轻松地使用模型,否则您需要下载模型并指定路径。


1
您的答案目前写得不够清晰。请[编辑]以添加更多细节,帮助其他人理解您的回答如何回应问题。您可以在帮助中心找到有关编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接