【已解决】如何在服务器中下载huggingface模型,解决huggingface无法连接

文章介绍了在服务器上使用HuggingFace模型时遇到网络错误的解决方案,包括手动下载、使用下载器和GitHub脚本下载模型,以减少网络传输次数并提供便捷的下载管理。

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

问题说明

在服务器上使用huggingface模型时,如果直接指定模型名称,用AutoTokenizer.from_pretrained(“model_name”),可能会由于网络原因会报错 Failed to connect to huggingface.co port 443 after 75018 ms: Operation time out

因此我们需要下载模型到服务器上,得到模型本地的路径model_dir,再通过AutoTokenizer.from_pretrained(model_dir)方式来使用。

【不推荐】下载方式1:手动从huggingface界面下载相应文件

从huggingface官网挨个下载文件。这种方式需要先下载模型到本地,再上传到服务器上,经过两次传输,很是麻烦。不推荐。
当然如果你只是需要部分文件,就可以这样手动点击下载你需要的几个文件。
在这里插入图片描述

【一般推荐】下载方式2 使用下载器下载

去huggingface 镜像网站, 先将图中的model_download.py文件下载到服务器里。

下载代码为:

wget https://aliendao.cn/model_download.py

在这里插入图片描述
然后运行代码:

pip install huggingface_hub
python model_download.py --repo_id (模型ID)

不知道模型ID的可以去搜索栏搜索模型名称,比如baichuan2-7B-Chat
在这里插入图片描述
例如,我们如果要下载Baichuan2-7B-Chat模型,就执行下面这行代码。

python model_download.py --repo_id baichuan-inc/Baichuan2-7B-Chat

这样就能直接在服务器上下载huggingface模型了,而且会显示下载进度条。速度大约是2M/s
在这里插入图片描述

温馨提示

模型下载通常要很久,别忘了打开tmux窗口防止电脑休眠导致网络中断哦
如果你忘了打开tmux窗口也没关系,可以按ctrl-z暂停任务,再打开tmux,重新运行python model_download.py --repo_id 模型id 这行下载代码,可继续下载

【非常推荐】下载方式3 使用huggingface-cli脚本下载

  1. 首先在linux中输入
export HF_ENDPOINT=https://hf-mirror.com
  1. 然后执行
source .bashrc
  1. 下载huggingface-cli
pip install huggingface-cli
  1. 准备好你的模型存放路径,以及需要下载的模型id(在huggingface页面复制),执行下面的代码,即可大功告成~ 这种方式下载速度比2快
huggingface-cli download --resume-download (模型名称) --local-dir (模型存放位置) --local-dir-use-symlinks False --resume-download
### 如何在服务器下载 Hugging Face 模型 为了实现在服务器上高效下载 Hugging Face 的模型,可以按照以下方法操作: #### 安装必要的库 首先需要安装 `huggingface_hub` 库,这是用于管理 Hugging Face 模型的核心工具。通过更新该库至最新版本,能够确保兼容性和性能优化。 ```bash pip install -U huggingface_hub ``` 此命令将帮助您获取最新的功能支持以及修复可能存在的问题[^1]。 #### 设置镜像加速 如果您的服务器位于国内或者网络条件不佳,可能会遇到连接超时等问题。此时可以通过配置环境变量的方式切换到镜像站点以提高下载速度。 执行如下命令来设置临时的镜像地址: ```bash export HF_ENDPOINT="https://hf-mirror.com" ``` 验证环境变量是否成功应用可使用以下指令: ```bash echo $HF_ENDPOINT ``` 正常情况下应该返回刚才设定的 URL 地址[^2]。 #### 开始下载模型 完成上述准备工作之后,就可以利用 Python 脚本加载所需模型了。这里给出一个简单的例子展示如何实现这一点: ```python from transformers import AutoModel, AutoTokenizer model_name = "bert-base-chinese" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModel.from_pretrained(model_name) ``` 以上代码片段展示了基于 Transformers 库从预训练集合中提取指定名称(这里是 `"bert-base-chinese"`)对应的 tokenizer 和 model 实例的过程。由于之前已经调整好了访问端口和路径映射关系,因此即使是在防火墙内部署也能顺利完成资源拉取动作。 --- ###
评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值