快速上手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),仅供参考
