在 hf 上下载指定仓库的指定文件

Hugging Face CLI 的 --include 命令使用指南

理解 --include 命令

在 Hugging Face CLI 中,--include 参数用于指定要下载的文件或文件夹的模式。它通常与正则表达式配合使用,以灵活地筛选出所需的文件。

使用方式

huggingface-cli download <仓库名称> --include <模式>
  • <仓库名称>: 你想要下载文件的 Hugging Face 仓库名称。
  • <模式>: 一个正则表达式,用来匹配要下载的文件名。

示例

假设你想要从仓库 datasets/squad 中下载所有以 .json 结尾的文件:

huggingface-cli download datasets/squad --include "*.json"

这将会下载该仓库中所有满足 .json 模式(即文件名以 .json 结尾)的文件。

高级用法

  • 多个模式: 可以使用逗号分隔多个模式:
huggingface-cli download my-repo --include "*.txt,*.csv"
  • 排除文件: 使用 --exclude 参数来排除某些文件:
huggingface-cli download my-repo --include "*.py" --exclude "__init__.py"
  • 递归下载: 如果仓库中有子目录,可以使用 -r--recursive 参数递归下载:
huggingface-cli download my-repo -r --include "*.json"

常见正则表达式

  • .:匹配任意单个字符。
  • *:匹配零个或多个任意字符。
  • ?:匹配零个或一个任意字符。
  • [abc]:匹配方括号中的任意一个字符。
  • [^abc]:匹配不在方括号中的任意一个字符。

注意

  • 正则表达式语法: 正则表达式的语法比较灵活,但也有其特定的规则。你可以查阅相关资料深入学习。
  • 仓库结构: 不同的仓库文件结构可能不同,你需要根据具体情况调整模式。
  • 性能: 下载大量文件可能需要较长时间,请耐心等待。

示例:下载 Qwen 模型的部分文件

假设你想要下载 Qwen/Qwen2.5-14B-Instruct-GGUF 仓库中以 qwen2.5-14b-instruct-q8_0-0000[1-4]-of-00004.gguf 模式命名的文件,你可以使用以下命令:

huggingface-cli download Qwen/Qwen2.5-14B-Instruct-GGUF --include "qwen2.5-14b-instruct-q8_0-0000[1-4]-of-00004.gguf"

这个命令会下载该仓库中符合模式的所有文件。

总结

--include 参数为我们提供了强大的文件筛选功能,可以根据我们的需求灵活地下载 Hugging Face 仓库中的文件。通过掌握正则表达式,我们可以实现更加复杂的下载任务。

更多帮助

如果你需要更详细的帮助,可以查阅 Hugging Face CLI 的官方文档:https://huggingface.co/docs/huggingface_hub/guides/cli

posted @ 2024-11-05 19:34  立体风  阅读(81)  评论(0编辑  收藏  举报