ValueError: Connection error, and we cannot find the requested files in the cached path. Please try.

ValueError: Connection error, and we cannot find the requested files in the cached path…

Please try again or make sure your Internet connection is on.
在试图复现一篇论文的代码的时候遇到了上面这个问题。

  1. 这个项目是我从作者的公布的github上面下载下来的,所以代码本身应该没有什么问题。报错的源代码如下,起初是186行报错,错误信息也是标题这个:
    在这里插入图片描述

  2. 在百度上面一番搜索,觉得就是连外国网站下模型网不好,下不下来报错。因此,我把原模型:bart-large从镜像网站中下载到了本地,再上传到服务器该项目下的对应位置,具体如图:
    在这里插入图片描述

  3. 图片里面这个bart-large就是下载的模型。里面包括了模型的所有的文件(原文我也不知道会用到哪些,就把镜像网站上该模型的全部文件都下下来了)。包含的文件如下图:
    在这里插入图片描述

  4. 然后我将项目源代码中报错的186行,改为了实验室服务器上面保存该模型的位置,如下:
    在这里插入图片描述

  5. 在这里,我把原来的代码注释了,增加了model_path,保存的就是服务器上模型的位置,直接在AutoTokenizer.from_pretrained函数里面传入模型绝对路径。将参数cache_dir也改为模型的缓存路径(这个缓存路径是我新建的,放在项目目录里面)。我在服务器上的整个项目的目录结构如下:
    在这里插入图片描述

  6. 其中bart-large(保存我下载的bart-large模型)、bart-large-cache(我新建的模型缓存路径)、testpy.py、test.txt是我建的,其他就是项目作者原有的。testpy.py、test.txt这两个文件没什么用,就是我自己用来复现代码的时候测试导包有没有问题,路径对不对之类的。然后根据作者README中的说明运行代码,结果还是报错,而且是换了一个地方报错。。。错误信息如下:
    在这里插入图片描述

  7. 还是同样的错误,但是报错的原代码变成了207行,如下:
    在这里插入图片描述

  8. 这又是什么???

  9. 害,总之研究了整整3个小时后,我找到了报错的原因,里面那个model_args.model_name_or_path指的模型是要加载的预训练模型,其实需要下载一些数据集及对应的基础模型作者已经在README里面说了,只是我没注意这里,之后我把需要的模型下下来,放到对应位置,如下:在这里插入图片描述11

  10. 图中每个数据集下面的i_feature和xx_stage1就是需要自己去下载下来放在对应位置的(如果在服务器跑的话,记得服务器上面也要更新上去)。作者在README中的说明如下:在这里插入图片描述

  11. 又是被自己折腾的一天,之后代码就能正常运行,不报这个错误了。

  12. 醉了,又报了另一个错:

  13. RuntimeError: cuDNN error: CUDNN_STATUS_VERSION_MISMATCH
    在这里插入图片描述
    于是查看一下当前我的虚拟环境中cuda和cudnn的版本,参考链接:https://blog.csdn.net/Wzh49115/article/details/126637772

得到如下结果:
在这里插入图片描述
在这里插入图片描述
奇怪,之后参考这个查看,得到的版本还不一样!!
https://blog.csdn.net/Wzh49115/article/details/126637772
在这里插入图片描述

所以到底哪个是真实的??
再看看cuda与cudnn是否匹配:
看完之后,猜测可能是两个版本不匹配的问题,所以更换cudnn版本(因为作者指定了cuda版本,换不了)
查看版本匹配链接:
https://developer.nvidia.com/rdp/cudnn-archive
然后,我在对应的虚拟环境中使用nvcc -V查看cuda版本,结果又是另一个版本,如下图:
在这里插入图片描述
所以,这个nvcc -V查看的版本与之前的查看的11.7版本到底哪个是对的。通过一番搜索,网友说可能是nvcc指向的是系统默认的cuda,我也懒得折腾了。
于是通过conda list查看cudnn,(我之前安装cudnn是用conda安装的),然后直接通过conda uninstall cudnn卸载当前虚拟环境中的cudnn。

接下来,要安装与当前cuda匹配的cudnn,
在这里插入图片描述
当前torch为1.13.1+cu117,cuda为11.7,对应需要cudnn。
绝望,当我上面卸载了cudnn后,查看cudnn,竟然还能用???
在这里插入图片描述

谢天谢地,总算跑通了!!!
在这里插入图片描述
在这里插入图片描述
跑这一个数据集,花了26分钟。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值