HuggingFace 提供模型和数据集的一站式下载,支持自动缓存、流式加载和多线程加速。
模型下载
自动下载(推荐)
1
2
3
4
| from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("bert-base-uncased", cache_dir="/workspace/models")
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased", cache_dir="/workspace/models")
|
批量下载
1
2
3
4
5
6
7
8
| from huggingface_hub import snapshot_download
snapshot_download(
repo_id="google/flan-t5-large",
local_dir="/workspace/flan-t5",
max_workers=8,
token="hf_xxx" # 私有模型需 Token
)
|
手动下载
- 访问 huggingface.co/models
- 进入 Files and versions 下载:
model.safetensors、config.json、分词器文件 - 本地加载:
AutoModel.from_pretrained("/path/to/model")
数据集下载
datasets 库
1
2
3
4
5
6
7
8
9
| from datasets import load_dataset
# 常规下载
dataset = load_dataset("glue", "mrpc", cache_dir="/workspace/datasets")
# 流式模式(大数据集)
stream = load_dataset("wikitext", "wikitext-103-v1", streaming=True)
for sample in stream["train"].take(5):
print(sample["text"])
|
命令行
1
2
3
| huggingface-cli download lavita/medical-qa-shared-task-v1-toy \
--repo-type dataset \
--local-dir /workspace/datasets/medical-qa
|
加速技巧
| 技巧 | 说明 |
|---|
| 国内镜像 | os.environ["HF_ENDPOINT"] = "https://hf-mirror.com" |
| 多线程 | max_workers=8 |
| 断点续传 | resume_download=True |
| 量化加载 | load_in_8bit=True |
最佳实践
| 场景 | 推荐方式 |
|---|
| 快速实验小模型 | transformers 自动下载 |
| 部署大模型 | snapshot_download + 本地加载 |
| 大数据集研究 | load_dataset + streaming |
| 无 Python 环境 | 网页手动下载 |
默认缓存路径:~/.cache/huggingface/
Comments