快速上手vit_tiny_patch16_224.augreg_in21k:3行代码实现图像分类

快速上手vit_tiny_patch16_224.augreg_in21k:3行代码实现图像分类

快速上手vit_tiny_patch16_224.augreg_in21k:3行代码实现图像分类

【免费下载链接】vit_tiny_patch16_224.augreg_in21k项目地址: https://ai.gitcode.com/hf_mirrors/timm/vit_tiny_patch16_224.augreg_in21k

vit_tiny_patch16_224.augreg_in21k是一款基于Vision Transformer架构的图像分类模型,由论文作者使用JAX在ImageNet-21k数据集上训练(包含额外的数据增强和正则化),并由Ross Wightman移植到PyTorch。它非常适合新手和普通用户快速实现图像分类功能,仅需几行代码即可完成部署和使用。

📋 模型核心特性

  • 轻量级架构:仅9.7M参数,1.1 GMACs计算量,在普通设备上也能高效运行
  • 高精度表现:在ImageNet-21k数据集上训练,支持21843种图像类别的识别
  • 即插即用:通过timm库可直接调用,无需复杂配置
  • 灵活应用:既支持图像分类任务,也可作为特征提取器生成图像嵌入向量

🔧 环境准备

安装必要依赖

首先确保你的环境中已安装以下库:

pip install timm torch pillow

获取模型文件

通过Git克隆项目仓库:

git clone https://gitcode.com/hf_mirrors/timm/vit_tiny_patch16_224.augreg_in21k

🚀 3行核心代码实现图像分类

下面展示如何使用vit_tiny_patch16_224.augreg_in21k模型对图像进行分类:

import timm from PIL import Image # 1. 加载预训练模型 model = timm.create_model('vit_tiny_patch16_224.augreg_in21k', pretrained=True).eval() # 2. 获取模型专用图像转换器 transforms = timm.data.create_transform(**timm.data.resolve_model_data_config(model), is_training=False) # 3. 执行图像分类(假设img为PIL.Image对象) output = model(transforms(img).unsqueeze(0)) # 输出为分类分数张量

💡 完整使用示例

完整代码

from urllib.request import urlopen from PIL import Image import timm import torch # 加载图像 img = Image.open(urlopen( 'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png' )) # 加载模型 model = timm.create_model('vit_tiny_patch16_224.augreg_in21k', pretrained=True) model = model.eval() # 获取模型转换 data_config = timm.data.resolve_model_data_config(model) transforms = timm.data.create_transform(**data_config, is_training=False) # 执行推理 output = model(transforms(img).unsqueeze(0)) # 获取Top5预测结果 top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5) # 打印结果 print("Top 5预测类别及概率:") for prob, idx in zip(top5_probabilities[0], top5_class_indices[0]): print(f"类别 {idx}: {prob:.2f}%")

模型配置说明

模型的核心配置信息可在config.json中查看,主要参数包括:

  • 输入图像尺寸:224x224
  • 图像预处理:均值[0.5, 0.5, 0.5],标准差[0.5, 0.5, 0.5]
  • 分类类别数:21843
  • 特征维度:192

📊 模型应用场景

1.** 图像分类系统:快速构建商品识别、植物分类等应用 2.特征提取器:生成图像嵌入用于相似度计算或检索 3.迁移学习基础 **:作为预训练模型用于下游视觉任务

📚 相关资源

  • 模型卡片:README.md
  • 配置文件:configuration.json
  • 论文参考:
    • 《How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers》
    • 《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》

通过以上步骤,你已经掌握了vit_tiny_patch16_224.augreg_in21k模型的基本使用方法。这个轻量级yet powerful的视觉模型能够帮助你快速实现图像分类功能,无论是学术研究还是商业应用都能发挥重要作用!

【免费下载链接】vit_tiny_patch16_224.augreg_in21k项目地址: https://ai.gitcode.com/hf_mirrors/timm/vit_tiny_patch16_224.augreg_in21k

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考