Skip to content

从 Hugging Face 下载模型的方法

Hugging Face 是当前最流行的机器学习模型社区之一,提供了数以万计的预训练模型供开发者使用。本文将详细介绍多种从 Hugging Face 下载模型的有效方法。

问题概述

许多用户在首次访问 Hugging Face 模型库时,会发现页面上没有明显的"下载"按钮,不清楚如何将模型文件下载到本地使用。实际上,Hugging Face 提供了多种灵活的下载方式。

解决方案

1. 使用官方 Hugging Face Hub 工具

推荐方法

这是最原生且功能最全面的下载方式

首先安装 huggingface_hub 库:

bash
pip install huggingface_hub

命令行方式

bash
huggingface-cli download bert-base-uncased

Python API 方式

python
from huggingface_hub import snapshot_download

# 下载整个模型仓库
snapshot_download(repo_id="bert-base-uncased")

2. 使用 Git LFS 克隆

对于需要版本控制或完整仓库结构的场景,可以使用 Git LFS:

bash
# 首先确保安装 Git LFS
git lfs install

# 克隆模型仓库
git clone https://huggingface.co/google-bert/bert-base-uncased

注意

git lfs clone 已被标记为弃用,建议使用标准的 git clone 命令

3. 使用 Transformers 库自动缓存

最简单的方法是通过 Transformers 库直接使用模型,系统会自动下载并缓存:

python
from transformers import AutoTokenizer, AutoModelForMaskedLM

# 首次运行时会自动下载模型
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForMaskedLM.from_pretrained("bert-base-uncased")

4. 手动下载单个文件

如果只需要下载特定文件,可以使用 wget 或 curl:

bash
# 使用 wget
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

# 使用 curl
curl -L -O https://huggingface.co/path/to/your-file

5. 网页界面下载

在模型页面的"Files"标签页中,可以找到每个文件旁边的下载图标:

  1. 访问模型页面(如 https://huggingface.co/bert-base-uncased
  2. 点击"Files and versions"标签
  3. 找到需要的文件,点击右侧的下载图标

下载大文件的技巧

对于网络连接不稳定的情况,可以使用以下策略:

分步下载大模型
bash
# 先获取文件列表
huggingface-cli download model-name --dry-run

# 然后逐个文件下载
curl -L -O https://huggingface.co/path/to/file1
curl -L -O https://huggingface.co/path/to/file2

模型存储位置

默认情况下,下载的模型会存储在以下位置:

  • Linux/Mac: ~/.cache/huggingface/hub
  • Windows: C:\Users\USERNAME\.cache\huggingface\hub

或者对于 Transformers 库:

  • ~/.cache/torch/transformers~/.cache/huggingface/transformers

总结

方法适用场景优点缺点
Transformers 自动下载直接在代码中使用模型简单易用,自动管理需要编写代码
huggingface-cli需要下载整个模型功能全面,支持过滤需要安装额外工具
Git LFS需要版本控制完整仓库结构需要 Git LFS 配置
手动下载只需要特定文件精确控制需要手动操作

建议

对于大多数用户,推荐使用 huggingface-cli 或 Transformers 库的自动下载功能,它们提供了最完整且易于使用的体验。

通过以上方法,您可以轻松地从 Hugging Face 下载所需的模型文件,无论是用于本地开发、离线使用还是生产环境部署。