! [ -e /content ] && pip install -Uqq fastai # 在Colab上升级fastai
Hugging Face Hub
与Hugging Face Hub的集成,以分享和加载模型
为什么要分享至 Hugging Face Hub
Hub是一个中央平台,任何人都可以在这里分享和探索模型、数据集和机器学习演示。它旨在建立最广泛的开源模型、数据集和演示的集合。
将内容分享至Hub可以提高fastai Learner
的影响力,使其可供其他人下载和探索。
任何人都可以通过在huggingface.co/models网页上筛选fastai库,访问Hub中的所有fastai模型,如下图所示。
Hub内置了基于gits的版本控制(用于大型文件的git-lfs)、讨论、拉取请求和模型卡片,以便于发现和重现。有关如何导航Hub的更多信息,请参见本介绍。
安装
安装 huggingface_hub
。此外,集成功能需要以下软件包:
- toml,
- fastai>=2.4,
- fastcore>=1.3.27
您可以手动安装这些软件包,或在安装 huggingface_hub
时指定 ["fastai"]
,您的环境将准备就绪:
pip install huggingface_hub["fastai"]
要在 Hub 中共享模型,您需要拥有一个用户。请在 Hugging Face 网站 上创建它。
将 Learner
分享到中心
首先,登录到 Hugging Face Hub。你需要在你的 账户设置中创建一个 write
令牌。然后有三种登录选项:
在终端中输入
huggingface-cli login
并输入你的令牌。如果在 Python 笔记本中,你可以使用
notebook_login
。
from huggingface_hub import notebook_login
notebook_login()
- 使用
push_to_hub_fastai
函数的token
参数。
使用您想要上传的 Learner
和 Hubb 的存储库 ID(格式为 “namespace/repo_name”),调用 push_to_hub_fastai
。命名空间可以是您有写入权限的个人帐户或组织(例如,‘fastai/stanza-de’)。有关更多详细信息,请参阅 Hub Client 文档。
from huggingface_hub import push_to_hub_fastai
# repo_id = "YOUR_USERNAME/YOUR_LEARNER_NAME"
= "espejelomar/identify-my-cat"
repo_id
=learn, repo_id=repo_id) push_to_hub_fastai(learner
Learner
现在已在名为 espejelomar/identify-my-cat
的 Hub 中。自动生成的模型卡已创建,其中包含一些链接和后续步骤。当将 fastai Learner
(或任何其他模型)上传到 Hub 时,编辑其模型卡(如下图所示)以便他人更好地理解您的工作是很有帮助的(请参阅 Hugging Face 文档)。
push_to_hub_fastai
还有其他可能感兴趣的参数;请参考 Hub Client 文档。该模型是一个 Git 存储库,具有所有相关优势:版本控制、提交、分支、讨论和拉取请求。
从 Hub 加载学习者
加载我们刚刚在 Hub 中分享的 Learner
。
from huggingface_hub import from_pretrained_fastai
# repo_id = "你的用户名/你的学习者名称"
= "espejelomar/identify-my-cat"
repo_id
= from_pretrained_fastai(repo_id) learner
Hub 客户端文档 包含有关 from_pretrained_fastai
的更多详细信息。