hugging face的预训练模型下载慢的问题(使用BertModel.from_pretrained()等下载慢)

本文介绍了如何手动下载和组织BERT预训练模型文件,以避免通过代码自动下载时的慢速问题。提供了从HuggingFace官网下载模型的详细步骤,并提到了清华源作为加速下载的途径。此外,还分享了一种在from_pretrained()函数中添加'mirror'参数来利用清华源加速的方法,但警告此方式可能并非所有模型都可用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🚀下面步骤以手动下载代替代码自动下载预训练模型。

 在代码中用如下 from_pretrained() 函数下载bert等预训练模型时下载巨慢:

from transformers import BertTokenizer,BertModel,BertConfig
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
config = BertConfig.from_pretrained('bert-base-uncased')
config.update({'output_hidden_states':True})
model = BertModel.from_pretrained("bert-base-uncased",config=config)


 这里以 ‘bert-base-uncased’ 预训练模型为例(下其它预训练模型也一样的步骤),自己手动下载:
hugging face官网https://huggingface.co/models
【建议用谷歌浏览器打开,我用qq浏览器打开会有奇奇怪怪的问题】

⭐步骤1:在搜索栏搜索 ‘bert-base-uncased’,如下:

在这里插入图片描述

⭐步骤2:然后点进去会有模型的使用方法介绍及其对应论文等相关资料信息,点击Files and version,一般下载一下3个文件即可,因为我使用的是pt,所有下对应的pytorch_model.bin,如果是tf就下tf对应的。

在这里插入图片描述

⭐步骤3:下好这3个文件后,在当前代码路径下建一个文件夹起名叫:bert-base-uncased,然后把这3个文件放进去即可。

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
config = BertConfig.from_pretrained('bert-base-uncased')
config.update({'output_hidden_states':True})
model = BertModel.from_pretrained("bert-base-uncased",config=config)
ids = tokenizer(['hello world fuck','I love you'],return_tensors='pt')
outs = model(**ids)
print(len(outs))
print(outs[0].shape)
print(outs[1].shape)
print(outs[2][0].shape)

 输出如下,成功调用预训练模型:

3
torch.Size([2, 5, 768])
torch.Size([2, 768])
torch.Size([2, 5, 768])


🚀!!!后来发现了一个更方便的方法:

 清华源镜像了 Hugging Face Model Hub,为国内用户下载预训练模型数据提供便利。
 在from_pretrained()中加入参数mirror='tuna’即可加速下载,绝了。

【!!!⭐不过清华源上可能有些模型没有,且可能没hugging face官网更新的及时。所以有时还是得手动下载】

 当这种方法下载不了时,就手动下载就好。
在这里插入图片描述

model = BertModel.from_pretrained('bert-base-uncased', mirror='tuna')
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#苦行僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值