Huggingface镜像站使用方法总结

oyxy2019 62 2024-11-17

Huggingface镜像站使用方法总结

网站地址:https://hf-mirror.com/

方法三:使用 hfd 下载

hfd 是本站开发的 huggingface 专用下载工具,基于成熟工具 git+aria2,可以做到稳定下载不断线。

0、安装aria2

sudo apt install aria2

如果没有sudo权限或者只想在conda虚拟环境:

conda install -c conda-forge aria2

1、下载hfd

wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.sh

2、设置环境变量
Linux:

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

Windows Powershell:

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

3、下载

下载模型:

./hfd.sh gpt2 --tool aria2c -x 4

下载数据集:

./hfd.sh wikitext --dataset --tool aria2c -x 4

4、为命令设置别名

可以为命令创建别名,就可以在任何位置直接使用该命令

alias hfd="$PWD/hfd.sh"

设置别名后,例如下载模型就可以用(直接下载到当前目录):

hfd Qwen/Qwen1.5-0.5B-Chat

命令解释:

$ hfd -h
Usage:
  hfd <repo_id> [--include include_pattern] [--exclude exclude_pattern] [--hf_username username] [--hf_token token] [--tool aria2c|wget] [-x threads] [--dataset] [--local-dir path]    

Description:
  Downloads a model or dataset from Hugging Face using the provided repo ID.

Parameters:
  repo_id        The Hugging Face repo ID in the format 'org/repo_name'.
  --include       (Optional) Flag to specify a string pattern to include files for downloading.
  --exclude       (Optional) Flag to specify a string pattern to exclude files from downloading.
  include/exclude_pattern The pattern to match against filenames, supports wildcard characters. e.g., '--exclude *.safetensor', '--include vae/*'.
  --hf_username   (Optional) Hugging Face username for authentication. **NOT EMAIL**.
  --hf_token      (Optional) Hugging Face token for authentication.
  --tool          (Optional) Download tool to use. Can be aria2c (default) or wget.
  -x              (Optional) Number of download threads for aria2c. Defaults to 4.
  --dataset       (Optional) Flag to indicate downloading a dataset.
  --local-dir     (Optional) Local directory path where the model or dataset will be stored.

Example:
  hfd bigscience/bloom-560m --exclude *.safetensors
  hfd meta-llama/Llama-2-7b --hf_username myuser --hf_token mytoken -x 4
  hfd lavita/medical-qa-shared-task-v1-toy --dataset

方法四:使用环境变量(非侵入式)

非侵入式,能解决大部分情况。huggingface 工具链会获取HF_ENDPOINT环境变量来确定下载文件所用的网址,所以可以使用通过设置变量来解决。

HF_ENDPOINT=https://hf-mirror.com python your_script.py

不过有些数据集有内置的下载脚本,那就需要手动改一下脚本内的地址来实现了。

不想使用命令行的话,也可以在代码开头添加:

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"