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(labels=['a', 'b', 'c', 'd'])
>>> timm.models.hub.push_to_hf_hub(model, 'resnet18-random', model_config=model_cfg)
运行上述命令将把模型推送到 Hub 上的<your-username>/resnet18-random
。您现在可以与朋友分享这个模型,或在自己的代码中使用它!
从 Hub 加载模型就像调用timm.create_model
一样简单,只需将pretrained
参数设置为要加载的模型的名称。在这种情况下,我们将使用nateraw/resnet18-random
,这是我们刚刚推送到 Hub 的模型。
>>> model_reloaded = timm.create_model('hf_hub:nateraw/resnet18-random', pretrained=True)