服务器使用transformers去联网加载模型的时候会报错,代码如下:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("microsoft/graphcodebert-base")
model = AutoModel.from_pretrained("microsoft/graphcodebert-base")
报错如下:
OSError: We couldn't connect to 'https://huggingface.co' to load this file, couldn't find it in the cached files and it looks like microsoft/graphcodebert-base is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.
使用网上说的
方法1:在服务器上export HF_ENDPOINT=https://hf-mirror.com
,
方法2:在代码中添加os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
,
方法3:在服务器上huggingface-cli download
对应模型,可能因为我的python版本3.7太低失败
都无法解决问题,所以最终决定直接去网站下载模型到本地,让transformers从指定路径下加载模型,最终成功解决,且速度也比较快,步骤如下:
登录网址:
https://huggingface.co/
如果访问不了的话可以访问镜像网站:
https://hf-mirror.com/
然后搜索要的模型,比如microsoft/graphcodebert-base
,然后按照图片步骤操作
复制git命令,然后到服务器终端中,找一个文件夹位置粘贴执行,等待它下载完毕即可。
在python代码中也要修改,将microsoft/graphcodebert-base
改成下载模型所在的文件位置即可,在我这里是:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("../graphcodebert-base")
model = AutoModel.from_pretrained("../graphcodebert-base")