一、问题

在使用代码model = AutoModel.from_pretrained(‘bert-base-uncased’)加载预训练模型时报错:

requests.exceptions.ProxyError: (MaxRetryError(“HTTPSConnectionPool(host=‘huggingface.co’, port=443): Max retries exceeded with url: /bert-base-uncased/resolve/main/config.json (Caused by ProxyError(‘Unable to connect to proxy’, OSError(0, ‘Error’)))”), ‘(Request ID: b738272e-359a-4cb6-bb90-0250b631d263)’)

在这里插入图片描述

二、问题分析

报错信息提示无法连接到 Hugging Face 的服务器,也没有在本地缓存中找到所需的模型文件。这可能是由于网络连接问题或模型文件未正确缓存导致的。

我自己开了梯子也一直报错,下载不了。

三、解决办法

3.1 下载文件

离线下载需要的.json和.bin文件,具体下载方法见下:

打开Hugging Face官网:Hugging Face

打开后在搜索框中输入bert-base-uncased,见下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击对应文件后面下载按钮等待下载完成。

将下载好的文件存放到一个文件件中,见下:

在这里插入图片描述

3.2 代码修改

之前在代码中自动下载bert-base-uncased模型的代码为:

model = AutoModel.from_pretrained('bert-base-uncased')

离线下载好所需文件后,把上面代码注释了,使用下面代码加载下载好的文件:

# 加载本地模型和配置文件
model_dir = './bert_base'  # 这是包含模型和配置文件的目录路径
config = AutoConfig.from_pretrained(model_dir)
model = AutoModel.from_pretrained(model_dir, config=config)

3.3 实例代码

下面是正确加载自己下载的模型文件的一个例子:

# 可以统计全部的模型参数大小

import torch
from transformers import AutoModel, AutoConfig
from thop import profile

# 加载一个预训练模型(比如BERT)
# model = AutoModel.from_pretrained('bert-base-uncased')

# 加载模型和配置
model_dir = './bert_base'
config = AutoConfig.from_pretrained(model_dir)
model = AutoModel.from_pretrained(model_dir, config=config)

# 创建一个符合BERT输入要求的张量
input_ids = torch.randint(0, config.vocab_size, (1, 512), dtype=torch.long)
attention_mask = torch.ones(input_ids.size(), dtype=torch.long)  # 注意力掩码

# 计算模型的MACs和参数量
macs, params = profile(model, inputs=(input_ids, attention_mask))
print(f"MACs: {macs}, Params: {params}")


当能正确加载bert-base-uncased模型时,运行上面代码输出见下:

在这里插入图片描述

四、总结

以上就是解决问题requests.exceptions.ProxyError: (MaxRetryError(“HTTPSConnectionPool(host=‘huggingface.co’, port=443): Max retries exceeded with url: /bert-base-uncased/resolve/main/config.json (Caused by ProxyError(‘Unable to connect to proxy’, OSError(0, ‘Error’)))”), ‘(Request ID: b738272e-359a-4cb6-bb90-0250b631d263)’)的方法,博文中也详细讲解了如何在HuggingFace官网上下载模型文件的方法,希望能帮到你。

感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖

关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐