Hub documentation
在 Hugging Face 上使用 timm
单点登录(SSO) 审计日志 存储区域 用于私有数据集的 Data Studio 资源组(访问控制) 高级计算选项 高级安全 令牌管理 服务账号 发布者分析 门控组集合 网络安全 下载分析 速率限制 博客文章
PRO 计划 仓库 入门仓库 仓库设置 存储限制 存储后端(Xet) 本地缓存 Pull Requests 与 Discussions 通知 集合 Webhooks GitHub Actions Notebooks 后续步骤 许可证
模型 模型中心 模型卡片 评估结果 排行榜数据 受限模型 上传模型 下载模型 集成库
数据集 Spaces 适配器 AllenNLP BERTopic Asteroid Diffusers ESPnet fastai Flair Keras TF-Keras(旧版) ML-Agents mlx-image MLX OpenCLIP PaddleNLP peft RL-Baselines3-Zoo Sample Factory Sentence Transformers SetFit spaCy SpanMarker SpeechBrain Stable-Baselines3 Stanza TensorBoard timm Transformers Transformers.js Unity Sentis
模型小部件 模型推理 模型下载统计 模型发布检查清单 硬件 本地应用 常见问题 高级主题 Spaces 概览 Spaces GPU 升级 Spaces ZeroGPU Spaces 开发模式 Spaces 磁盘使用量与存储 Spaces 自定义域名 Spaces 作为 MCP 服务器 Spaces 作为智能体工具 将 Spaces 用作 API 端点 Gradio Spaces Streamlit Spaces 静态 HTML Spaces Docker Spaces 嵌入您的 Space 使用 Docker 运行 Spaces Spaces 配置参考 使用 HF 登录按钮 精选 Spaces Spaces 更新日志 高级主题
存储桶 new 容器镜像 new 任务 智能体 智能体概述 Hugging Face AI 智能体 CLI Hugging Face MCP 服务器 Hugging Face Agent Skills 使用 HF SDK 构建智能体 使用 llama.cpp 的本地代理 Agent 库 会话跟踪格式
其他 在 Hugging Face 上使用 timm
timm,也称为 pytorch-image-models,是一个开源的 PyTorch 图像模型集合,包含最先进的预训练权重以及用于训练、推理和验证的实用脚本。
本文档侧重于 Hugging Face Hub 中的 timm 功能,而非 timm 库本身。有关 timm 库的详细信息,请访问其文档。
您可以在 模型页面 左侧的筛选器中,找到 Hub 上的许多 timm 模型。
Hub 上的所有模型都附带多项实用功能:
- 自动生成的模型卡片,模型作者可以补充有关其模型的信息。
- 元数据标签有助于用户发现相关的
timm模型。 - 一个交互式小部件,可直接在浏览器中操作该模型。
- 允许用户发起推理请求的 Inference Providers。
使用 Hub 上的现有模型
只要安装了 timm,Hugging Face Hub 上的任何 timm 模型都可以用一行代码加载!从 Hub 中选定模型后,将带有 hf-hub: 前缀的模型 ID 传递给 timm 的 create_model 方法,即可下载并实例化该模型。
import timm
# Loading https://huggingface.co/timm/eca_nfnet_l0
model = timm.create_model("hf-hub:timm/eca_nfnet_l0", pretrained=True)如果你想查看如何加载特定模型,可以单击 Use in timm,即可获得一个可运行的加载代码片段!


推理
以下代码片段展示了如何对从 Hub 加载的 timm 模型执行推理:
import timm
import torch
from PIL import Image
from timm.data import resolve_data_config
from timm.data.transforms_factory import create_transform
# Load from Hub 🔥
model = timm.create_model(
'hf-hub:nateraw/resnet50-oxford-iiit-pet',
pretrained=True
)
# Set model to eval mode for inference
model.eval()
# Create Transform
transform = create_transform(**resolve_data_config(model.pretrained_cfg, model=model))
# Get the labels from the model config
labels = model.pretrained_cfg['label_names']
top_k = min(len(labels), 5)
# Use your own image file here...
image = Image.open('boxer.jpg').convert('RGB')
# Process PIL image with transforms and add a batch dimension
x = transform(image).unsqueeze(0)
# Pass inputs to model forward function to get outputs
out = model(x)
# Apply softmax to get predicted probabilities for each class
probabilities = torch.nn.functional.softmax(out[0], dim=0)
# Grab the values and indices of top 5 predicted classes
values, indices = torch.topk(probabilities, top_k)
# Prepare a nice dict of top k predictions
predictions = [
{"label": labels[i], "score": v.item()}
for i, v in zip(indices, values)
]
print(predictions)这样你应该会得到一个预测列表,如下所示:
[
{'label': 'american_pit_bull_terrier', 'score': 0.9999998807907104},
{'label': 'staffordshire_bull_terrier', 'score': 1.0000000149011612e-07},
{'label': 'miniature_pinscher', 'score': 1.0000000149011612e-07},
{'label': 'chihuahua', 'score': 1.0000000149011612e-07},
{'label': 'beagle', 'score': 1.0000000149011612e-07}
]共享您的模型
您可以将 timm 模型直接共享到 Hugging Face Hub。这会将您的模型的新版本发布到 Hugging Face Hub,如果该模型仓库尚不存在,则会为您创建一个。
在推送模型之前,请确保您已登录 Hugging Face:
python -m pip install huggingface_hub hf auth login
或者,如果您更喜欢在 Jupyter 或 Colaboratory 笔记本中操作,安装 huggingface_hub 后,您可以使用以下命令登录:
from huggingface_hub import notebook_login
notebook_login()然后,使用 push_to_hf_hub 方法推送你的模型:
import timm
# Build or load a model, e.g. timm's pretrained resnet18
model = timm.create_model('resnet18', pretrained=True, num_classes=4)
###########################
# [Fine tune your model...]
###########################
# Push it to the 🤗 Hub
timm.models.hub.push_to_hf_hub(
model,
'resnet18-random-classifier',
model_config={'labels': ['a', 'b', 'c', 'd']}
)
# Load your model from the Hub
model_reloaded = timm.create_model(
'hf-hub:<your-username>/resnet18-random-classifier',
pretrained=True
)其他资源
- timm (pytorch-image-models) GitHub 仓库。
- timm 文档。
- 由 Aman Arora 提供的 timmdocs 中的更多文档。
- PyTorch 图像模型(timm)入门:实践者指南,作者为 Chris Hughes。