从 Hugging Face Hub 共享和加载模型
timm
库与 Hugging Face Hub 集成,可以轻松地从 🤗 Hub 共享和加载模型。
在本简短指南中,我们将了解如何
- 在 Hub 上共享
timm
模型 - 如何从 Hub 加载该模型
身份验证
首先,您需要确保已安装 huggingface_hub
包。
pip install huggingface_hub
然后,您需要进行身份验证。您可以通过运行以下命令来实现
huggingface-cli login
或者,如果您使用的是笔记本,则可以使用 notebook_login
辅助函数
>>> from huggingface_hub import notebook_login
>>> notebook_login()
共享模型
>>> import timm
>>> model = timm.create_model('resnet18', pretrained=True, num_classes=4)
此处是您通常训练或微调模型的地方。为了本教程的目的,我们将跳过此步骤。
假设我们现在已经微调了模型。下一步是将其推送到 Hub!我们可以使用 timm.models.hub.push_to_hf_hub
函数来实现。
>>> model_cfg = dict(label_names=['a', 'b', 'c', 'd'])
>>> timm.models.push_to_hf_hub(model, 'resnet18-random', model_config=model_cfg)
运行上述代码会将模型推送到 Hub 上的 <your-username>/resnet18-random
。您现在可以与您的朋友共享此模型,或在您自己的代码中使用它!
加载模型
从 Hub 加载模型就像使用 pretrained
参数设置为要加载的模型名称来调用 timm.create_model
一样简单。在本例中,我们将使用 nateraw/resnet18-random
,这是我们刚刚推送到 Hub 的模型。
>>> model_reloaded = timm.create_model('hf_hub:nateraw/resnet18-random', pretrained=True)