从 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"标签页中,可以找到每个文件旁边的下载图标:
- 访问模型页面(如
https://huggingface.co/bert-base-uncased
) - 点击"Files and versions"标签
- 找到需要的文件,点击右侧的下载图标
下载大文件的技巧
对于网络连接不稳定的情况,可以使用以下策略:
分步下载大模型
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 下载所需的模型文件,无论是用于本地开发、离线使用还是生产环境部署。