仓库入门
本指南适合初学者,将帮助您掌握在 Hub 上创建和管理仓库的基本技能。每个部分都建立在前面的部分之上,因此您可以自由选择从哪里开始!
要求
本文档展示了如何通过 Web 界面和终端来处理仓库。如果使用 UI,则没有要求。如果您想使用终端,请按照以下安装说明操作。
如果您还没有将 git
作为 CLI 命令使用,则需要 为您的平台安装 Git。您还需要 安装 Git LFS,它将用于处理大型文件,例如图像和模型权重。
为了能够将您的代码推送到 Hub,您需要进行身份验证。最简单的方法是安装 huggingface_hub
CLI 并运行登录命令
python -m pip install huggingface_hub huggingface-cli login
本文档“入门”部分的内容也以视频形式提供!
创建仓库
使用 Hub 的 Web 界面,您可以轻松创建仓库、添加文件(即使是大型文件!)、探索模型、可视化差异等等。Hub 上有三种类型的仓库,在本指南中,您将创建一个 **模型仓库** 用于演示目的。有关创建和管理模型、数据集和 Spaces 的信息,请参阅其各自的文档。
- 要创建新仓库,请访问 huggingface.co/new
指定仓库的所有者:可以是您自己或您所属的任何组织。
输入模型的名称。这也将是仓库的名称。
指定您希望模型是公开还是私有。
指定许可证。现在您可以暂时将“许可证”字段留空。要了解有关许可证的信息,请访问 许可证 文档。
创建模型仓库后,您应该会看到类似这样的页面
请注意,Hub 会提示您创建一个“模型卡”,您可以在 模型卡文档 中了解它。在模型仓库中包含模型卡是最佳实践,但由于我们现在只是创建一个测试仓库,因此我们可以跳过此步骤。
向仓库添加文件(Web UI)
要通过 Web UI 向仓库添加文件,请首先选择“文件”选项卡,导航到所需目录,然后单击“添加文件”。您将可以选择创建一个新文件或直接从您的计算机上传文件。
创建新文件
选择创建新文件将带您进入以下编辑器屏幕,您可以在其中选择文件名称、添加内容并保存文件,并附带一条消息来概括您的更改。您无需将新文件直接提交到仓库的 main
分支,可以选择“以拉取请求打开”以创建 拉取请求。
上传文件
如果您选择“上传文件”,则可以选择本地文件进行上传,以及一条消息来概括您对仓库的更改。
与创建新文件一样,您可以选择“以拉取请求打开”以创建 拉取请求,而不是将您的更改直接添加到仓库的 main
分支。
向仓库添加文件(终端)
克隆仓库
将仓库下载到您的本地机器称为“克隆”。您可以使用以下命令加载您的仓库并导航到它
git clone https://huggingface.co/<your-username>/<your-model-name>
cd <your-model-name>
您可以使用以下命令通过 SSH 克隆
git clone [email protected]:<your-username>/<your-model-name>
cd <your-model-name>
您需要将您的 SSH 公钥添加到 您的用户设置 中,以便推送更改或访问私有仓库。
设置
现在是时候了,您可以将您想要的所有文件添加到仓库中!🔥
您是否有超过 10MB 的文件?这些文件应该使用 git-lfs
进行跟踪,您可以使用以下命令对其进行初始化
git lfs install
请注意,如果您的文件大小超过 **5GB**,您还需要运行以下命令
huggingface-cli lfs-enable-largefiles .
当您使用 Hugging Face 创建仓库时,Hugging Face 会在 .gitattributes
文件中自动提供一个常见的机器学习大型文件的常用文件扩展名的列表,git-lfs
会使用此列表来有效地跟踪您的大型文件的更改。但是,如果您的文件类型尚未处理,则可能需要添加新的扩展名。您可以使用 git lfs track "*.your_extension"
来完成此操作。
推送文件
你可以使用 Git 将新文件和对已存在文件的更改保存为一个名为“提交”的更改包,可以将其视为对项目的“修订”。要创建提交,你必须将文件添加
到 Git 中,让 Git 知道我们要保存更改,然后提交
这些更改。为了将新的提交与 Hugging Face Hub 同步,你需要将提交推送
到 Hub。
# Create any files you like! Then...
git add .
git commit -m "First model version" # You can choose any descriptive message
git push
现在就完成了!你可以查看 Hugging Face 上的仓库,其中包含所有最近添加的文件。例如,在下图中,用户添加了一些文件。请注意,此示例中的一些文件大小为1.04 GB
,因此仓库使用 Git LFS 来跟踪它们。
如果使用 HTTP 克隆仓库,你可能会在每次推送操作时被要求填写用户名和密码。避免重复的最简单方法是切换到 SSH,而不是 HTTP。或者,如果你必须使用 HTTP,你可能会发现设置git credential helper 来自动填写用户名和密码会有所帮助。
查看仓库历史记录
每次你完成添加
-提交
-推送
循环时,仓库都会跟踪你对文件的每一次更改。UI 允许你浏览模型文件和提交,并查看每个提交引入的差异(也称为diff)。要查看历史记录,可以点击历史记录:X 次提交链接。
你可以点击单个提交来查看该提交引入了哪些更改