> 技术文档 > [huggingface] 一招搞定服务器快速下载hf的模型和数据集_hf模型下载

[huggingface] 一招搞定服务器快速下载hf的模型和数据集_hf模型下载

内容准备:

  1. 首推 huggingface 镜像站: https://hf-mirror.com 。
    首推工具:官方的 huggingface-cli

1. 下载huggingface-cli

huggingface-cli 隶属于 huggingface_hub 库,不仅可以下载模型、数据,还可以可以登录huggingface、上传模型、数据等。huggingface-cli 属于官方工具,其长期支持肯定是最好的。优先推荐!

安装依赖

pip install -U huggingface_hub

注意:huggingface_hub 依赖于 Python>=3.8,此外需要安装 0.17.0 及以上的版本,推荐0.19.0+。

基本用法-下载模型

huggingface-cli download bigscience/bloom-560m --local-dir bloom-560m

基本用法-下载数据集

huggingface-cli download --repo-type dataset lavita/medical-qa-shared-task-v1-toy

现在默认断点续传,可以恢复上次因主动取消或网络波动异常退出的未完成的下载。

2. 配置镜像源

HF_ENDPOINT 该变量是 HF 相关库官方支持的一个环境变量,设置后,相关库会尊重该变量指定的主机名,替换 huggingface.co 域名进行模型、数据集的下载和上传,从而做到无需修改python的transformers代码,即可利用上镜像站来加载模型。具体支持以下库:

huggingface-cli
snapshot_download
from_pretrained
hf_hub_download
timm.create_model

设置方法

以下介绍各种环境下如何设置环境变量,以及如何将环境变量的配置命令写入到终端的配置文件中,使得终端自动加载该环境变量,免去每次手动执行命令的麻烦。

Linux/Mac OS

export HF_ENDPOINT=\"https://hf-mirror.com\"

Linux 写入到~/.bashrc中:

echo \'export HF_ENDPOINT=\"https://hf-mirror.com\"\' >> ~/.bashrc

写入到.bashrc文件之后,我还会选择重新加载一下文件

source ~/.bashrc

Mac OS 写入到 ~/.zshrc 中:

echo \'export HF_ENDPOINT=\"https://hf-mirror.com\"\' >> ~/.zshrc

Windows Powershell

$env:HF_ENDPOINT = \"https://hf-mirror.com\"

用以下命令写入到 ~\\Documents\\WindowsPowerShellMicrosoft.PowerShell_profile.ps1 中:

Add-Content -Path $PROFILE -Value \'$env:HF_ENDPOINT = \"https://hf-mirror.com\"\'

Python

import osos.environ[\'HF_ENDPOINT\'] = \'https://hf-mirror.com\'

注意os.environ得在import huggingface库相关语句之前执行。

3. 写在最后

如果因为网络环境,导致下载中断,需要等待几秒,然后重新执行一遍命令,就会继续完成下载。