【hugging face】使用纯代码管理仓库

创建和管理存储库
Hugging Face Hub是一组 Git 存储库。Git是软件开发中广泛使用的工具,可以在协作工作时轻松对项目进行版本控制。

主要有以下问题:
创建和删除存储库
管理分支和标签
重命名您的存储库
更新您的存储库可见性
管理存储库的本地副本

创建一个仓库

使用 create_repo() 创建一个空仓库,并通过 repo_id参数为其命名 repo_id是你的命名空间,后面跟着仓库名称:username_or_org/repo_name

运行以下代码,以创建仓库

from huggingface_hub import create_repo
create_repo("lysandre/test-model")

默认情况下,create_repo() 会创建一个模型仓库。但是你可以使用 repo_type参数来指定其他仓库类型。例如,如果你想创建一个数据集仓库

请运行以下代码:

from huggingface_hub import create_repo
create_repo("lysandre/test-dataset", repo_type="dataset")

创建仓库时,你可以使用 private参数设置仓库的可见性

from huggingface_hub import create_repo
create_repo("lysandre/test-private", private=True)

如果你想在以后更改仓库的可见性,你可以使用update_repo_visibility() 函数

删除一个仓库

使用 delete_repo() 删除一个仓库。确保你确实想要删除仓库,因为这是一个不可逆转的过程!做完上述过程后,指定你想要删除的仓库的 repo_id

delete_repo(repo_id="lysandre/my-corrupted-dataset", repo_type="dataset")

克隆一个仓库(仅适用于 Spaces)
在某些情况下,你可能想要复制别人的仓库并根据自己的用例进行调整。对于 Spaces,你可以使用 duplicate_space() 方法来实现。它将复制整个仓库。

你仍然需要配置自己的设置(硬件和密钥)。查看我们的管理你的Space指南以获取更多详细信息。

from huggingface_hub import duplicate_space
duplicate_space("multimodalart/dreambooth-training", private=False)

上传和下载文件

既然您已经创建了您的存储库,您现在也可以推送更改至其中并从中下载文件

这两个主题有它们自己的指南。请上传指南 和下载指南来学习如何使用您的存储库。
https://huggingface.co/docs/huggingface_hub/main/cn/guides/upload
https://huggingface.co/docs/huggingface_hub/main/cn/guides/download

分支和标签

Git存储库通常使用分支来存储同一存储库的不同版本。标签也可以用于标记存储库的特定状态,例如,在发布版本这个情况下。更一般地说,分支和标签被称为git引用.

创建分支和标签
你可以使用create_branch()和create_tag()来创建新的分支和标签:

from huggingface_hub import create_branch, create_tag

create_branch("Matthijs/speecht5-tts-demo", repo_type="space", branch="handle-dog-speaker")

create_branch("bigcode/the-stack", repo_type="dataset", revision="v0.1-release", tag="v0.1.1", tag_message="Bump release version.")

可以以相同的方式使用 delete_branch() 和 delete_tag() 函数来删除分支或标签

列出所有的分支和标签
你还可以使用 list_repo_refs() 列出存储库中的现有 Git 引用 请运行以下代码:

from huggingface_hub import list_repo_refs
api.list_repo_refs("bigcode/the-stack", repo_type="dataset")

更新可见性

一个存储库可以是公共的或私有的。私有存储库仅对您或存储库所在组织的成员可见。

请运行以下代码将存储库更改为私有:

from huggingface_hub import update_repo_visibility
update_repo_visibility(repo_id=repo_id, private=True)

重命名您的存储库

您可以使用 move_repo() 在 Hub 上重命名您的存储库。使用这种方法,您还可以将存储库从一个用户移动到一个组织。在这样做时,有一些限制需要注意。例如,您不能将存储库转移到另一个用户。

from huggingface_hub import move_repo
move_repo(from_id="Wauplin/cool-model", to_id="huggingface/cool-model")

管理存储库的本地副本
上述所有操作都可以通过HTTP请求完成。然而,在某些情况下,您可能希望在本地拥有存储库的副本,并使用您熟悉的Git命令与之交互。

Repository 类允许您使用类似于Git命令的函数与Hub上的文件和存储库进行交互。它是对Git和Git-LFS方法的包装,以使用您已经了解和喜爱的Git命令。在开始之前,请确保已安装Git-LFS(请参阅此处获取安装说明)。

使用本地存储库

使用本地存储库路径实例化一个 Repository 对象:

from huggingface_hub import Repository
repo = Repository(local_dir="<path>/<to>/<folder>")

克隆

clone_from参数将一个存储库从Hugging Face存储库ID克隆到由 local_dir参数指定的本地目录:

from huggingface_hub import Repository
repo = Repository(local_dir="w2v2", clone_from="facebook/wav2vec2-large-960h-lv60")

clone_from还可以使用URL克隆存储库:

repo = Repository(local_dir="huggingface-hub", clone_from="https://huggingface.co/facebook/wav2vec2-large-960h-lv60")

你可以将clone_from参数与create_repo()结合使用,以创建并克隆一个存储库:

repo_url = create_repo(repo_id="repo_name")
repo = Repository(local_dir="repo_local_path", clone_from=repo_url)

当你克隆一个存储库时,通过在克隆时指定git_user和git_email参数,你还可以为克隆的存储库配置Git用户名和电子邮件。当用户提交到该存储库时,Git将知道提交的作者是谁。

repo = Repository(
  "my-dataset",
  clone_from="<user>/<dataset_id>",
  token=True,
  repo_type="dataset",
  git_user="MyName",
  git_email="me@cool.mail"
)

分支

分支对于协作和实验而不影响当前文件和代码非常重要。使用git_checkout()来在不同的分支之间切换。例如,如果你想从 branch1切换到 branch2:

请运行以下代码:

from huggingface_hub import Repository
repo = Repository(local_dir="huggingface-hub", clone_from="<user>/<dataset_id>", revision='branch1')
repo.git_checkout("branch2")

拉取

git_pull() 允许你使用远程存储库的更改更新当前本地分支:

请运行以下代码:

from huggingface_hub import Repository
repo.git_pull()

如果你希望本地的提交发生在你的分支被远程的新提交更新之后,请设置rebase=True:

repo.git_pull(rebase=True)
  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Stable Diffusion 是由 Stability AI 公司开发的一款预训练人工智能模型,主要用于生成高质量的文本,但它不是开源项目,所以直接获取其源代码是不可能的。通常,像 GPT-3、DALL-E 2 这样的大型预训练模型的源代码是不对外公开的,因为这涉及到大量的商业机密和技术细节。 如果你对自然语言处理(NLP)的开源工具库感兴趣,例如像 Hugging Face 的 transformers 库,它提供了基于 Transformer架构的模型,你可以通过 GitHub 获取源代码并进行学习和使用。对于自定义模型或深度学习项目,你可能会编写自己的代码,包括模型训练、微调和部署的部分。 要获取和使用开源 NLP 模块,可以按照以下步骤操作: 1. **选择开源库**:研究并选择一个适合你的需求的开源 NLP 库,比如 TensorFlow, PyTorch 或者 fastai。 2. **克隆仓库**:使用 Git 工具从 GitHub (https://github.com/huggingface/transformers) 或其他代码托管平台下载源代码。 3. **安装依赖**:确保你的开发环境安装了必要的 Python 包和框架(如 pip install transformers)。 4. **了解API**:阅读文档和教程,理解如何加载模型、进行前处理和生成文本。 5. **编写代码**:根据你的项目需求,编写代码来加载模型、提供输入、处理输出等。 6. **训练和微调**:如果模型需要训练或微调,按照库提供的指南进行。 7. **评估性能**:通过测试数据验证模型的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值