有关如何在Hugging face上下载数据集、单个文件或整个项目?


1.下载无需登录权限的单个模型参数文件,以下载stabilityai/sd-turbo at main为例;

在这里插入图片描述

  • 进入huggging face项目文件中,右键下载图标复制连接;

  • 在服务器上配置好镜像环境(如果服务器上不可以挂梯子);

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

​ 验证是否配置成果

echo $HF_ENDPOINT

​ 如果输出:https://hf-mirror.com,说明设置生效(仅对当前终端生效)

​ 如果环境中还保存了其他的的代理环境环境,可能导致下载失败(需要清除后再配置上述代 理,见文章 [Hugging Face 镜像(HF-Mirror)使用教程(终端实操版)]((71 封私信 / 80 条消息) 📘 Hugging Face 镜像(HF-Mirror)使用教程(终端实操版) - 知乎))

  • 使用命令进行下载:

    wget https://huggingface.co/stabilityai/sd-turbo/resolve/main/sd_turbo.safetensors?download=true


2. 下载需要登录权限的数据集或者模型文件,以LSDIR数据集的单个文件为例;

要在命令行上通过身份验证下载文件,你需要将你的 Hugging Face 访问令牌加入到下载请求的 Header 中。

步骤 1: 获取你的 Hugging Face 访问令牌
  1. 登录你的 Hugging Face 账户。
  2. 点击右上角的个人头像,选择 Settings(设置)。
  3. 在左侧导航栏选择 Access Tokens(访问令牌)。
  4. 点击 New Token(新建令牌)。
  5. 给令牌起一个名字(例如:server_download),权限选择 Read(读取)即可。
  6. 点击 Generate(生成),然后复制生成的令牌字符串
步骤 2: 使用 wget 携带令牌下载

使用 wget--header 参数将你的令牌作为 Authorization 头部信息发送。

请将下面的命令中的 $YOUR_HF_TOKEN 替换为你刚刚获取的实际令牌字符串,并在镜像站 URL上执行:

Bash

wget \
--header="Authorization: Bearer $YOUR_HF_TOKEN" \
https://hf-mirror.com/ofsoundof/LSDIR/resolve/main/val1.tar.gz?download=true \
-O val1.tar.gz

3.下载需要登录权限的整个项目文件夹,以LSDIR数据集的为例

推荐方法:使用 huggingface-cli 结合国内镜像(最优雅)

huggingface-cli 是 Hugging Face 官方为模型和数据集下载设计的命令行工具,它支持断点续传、文件校验,并且能直接处理带有 Gated 权限的仓库。

步骤 1: 安装 huggingface_hub

在你的服务器上执行以下命令安装 Python 库:

Bash

pip install -U huggingface_hub

步骤 2: 配置环境变量以使用镜像

通过设置环境变量,强制 huggingface_hub 使用国内镜像站。这样,你在执行官方命令时,底层实际使用的是加速服务。

Bash

# 临时设置环境变量(仅对当前终端会话有效)
export HF_ENDPOINT=https://hf-mirror.com

步骤 3: 登录你的访问令牌

使用你之前生成的 Hugging Face 访问令牌进行命令行登录。这一步只需要做一次。

Bash

huggingface-cli login
# 提示: Token: <输入你的访问令牌并按回车>

步骤 4: 使用 huggingface-cli download 下载整个仓库

使用 huggingface-cli download 命令,它会自动下载整个仓库的所有文件,并支持并发和断点续传。

假设你要下载的项目 ID 是 stabilityai/sd-turbo(请替换为你要下载的实际项目 ID,图中箭头处为ID):

在这里插入图片描述

huggingface-cli download stabilityai/sd-turbo --local-dir ./sd-turbo --include "*.safetensors" "*.json"
  • stabilityai/sd-turbo: 你要下载的模型/数据集 ID。
  • --local-dir ./sd-turbo: 指定文件下载到的本地目录。
  • --include "*.safetensors" "*.json": 【重要】 指定只下载你需要的权重文件类型(例如 .safetensors.bin)和配置文件(例如 .json)。建议明确排除掉文档、示例图片等非必需的大文件,以加快速度。如果你想下载所有文件,可以省略 --include 参数。

示例实际命令:

huggingface-cli download ofsoundof/LSDIR --local-dir /your_dir

对于超大型的数据集,需要减少并行下载数量,减少网络原因造成的断点:

export HF_DATASETS_MAX_DOWNLOAD_CONCURRENT=5

设置最大的并行下载数量,减少断点发生。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐