首先确保已经安装了huggingface_hub依赖包
pip install -U huggingface_hub
设置环境变量
Linux
export HF_ENDPOINT=https://hf-mirror.com
Windows
set HF_ENDPOINT=https://hf-mirror.com
命令行方式
下载模型
huggingface-cli download --resume-download InstantX/InstantID --local-dir ./checkpoints
下载数据集
huggingface-cli download --repo-type dataset --resume-download InstantX/InstantID --local-dir ./checkpoints
代码方式
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="InstantX/InstantID", filename="ControlNetModel/config.json", local_dir="./checkpoints")
hf_hub_download(repo_id="InstantX/InstantID", filename="ControlNetModel/diffusion_pytorch_model.safetensors", local_dir="./checkpoints")
hf_hub_download(repo_id="InstantX/InstantID", filename="ip-adapter.bin", local_dir="./checkpoints")
hf_hub_download是huggingface官方支持的下载模型和数据集的方法,参数如下:
- repo_id:仓库名称
- filename:需要下载的文件名
- subfolder:需要下载的文件在仓库中的哪一个文件夹(可选)
- repo_type:仓库类型(可选),如果不填写就默认下载的是model,否则需要设置对应值(如下载数据集就设为datase)
- evision:指定Git的修订版本(可选)
- library_name:对象对应的库的名称(可选)
- library_version:库的版本号(可选)
- cache_dir:缓存文件存储的文件夹路径(可选)
- local_dir:下载的文件存放的目录(可选)
- local_dir_use_symlinks:与 local_dir 参数一起使用的选项。如果设置为 “auto”,则会使用缓存目录,并根据文件大小将文件复制或创建符号链接到本地目录。如果设置为 True,则无论文件大小如何,都将创建符号链接。如果设置为 False,则文件将从缓存中复制(如果已存在),或者从Hub下载而不缓存。
- user_agent:指定用户代理信息,可以是一个字典或一个字符串(可选)
- force_download:如果该文件已经在本地缓存中存在,是否强制性下载文件(可选)
- proxies: 设置代理服务器(可选)
- etag_timeout:当获取ETag时,等待服务器发送数据的最长时间(以秒为单位)。如果服务器在这段时间内没有响应,将放弃请求(可选)
- resume_download:如果设置为 True,可以继续之前中断的下载操作,即继续下载先前未完成的文件(可选)
- token:用于下载的身份验证令牌,如果设置为 True,则从HuggingFace配置文件夹中读取令牌。如果是一个字符串,它将被用作身份验证令牌。(可选)
- local_files_only:如果设置为 True,则避免下载文件,如果本地缓存中存在文件,则返回本地缓存文件的路径(可选)
- legacy_cache_layout:如果设置为 True,则使用旧的文件缓存布局,即只需调用 hf_hub_url() 然后进行缓存下载。这已经不推荐使用,因为新的缓存布局更强大。(可选)
实际上用到的参数并不多,一般情况下只需设置repo_id,filename,subfolder,local_dir,token参数即可。