ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

零基础入门!用vit_large_patch16_224.augreg_in21k构建你的第一个图像分类器

2026/8/10 20:12:46 拓冰建站 浏览量
零基础入门!用vit_large_patch16_224.augreg_in21k构建你的第一个图像分类器 零基础入门用vit_large_patch16_224.augreg_in21k构建你的第一个图像分类器【免费下载链接】vit_large_patch16_224.augreg_in21k项目地址: https://ai.gitcode.com/hf_mirrors/timm/vit_large_patch16_224.augreg_in21kvit_large_patch16_224.augreg_in21k是一个基于Vision TransformerViT架构的图像分类模型由论文作者在JAX中使用ImageNet-21k数据集带有额外的数据增强和正则化训练并由Ross Wightman移植到PyTorch。该模型可作为图像分类或特征提取的基础模型帮助你轻松构建图像识别应用。 模型基本信息核心参数模型类型图像分类 / 特征提取骨干网络参数量325.7M计算量GMACs59.7激活值M43.8输入图像尺寸224 x 224支持数据集ImageNet-21k技术背景该模型基于两篇重要论文构建《How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers》《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》 快速开始构建你的第一个图像分类器1️⃣ 环境准备首先确保你的环境中安装了必要的依赖库pip install timm torch pillow如果你需要从源码开始构建可以克隆仓库git clone https://gitcode.com/hf_mirrors/timm/vit_large_patch16_224.augreg_in21k cd vit_large_patch16_224.augreg_in21k2️⃣ 图像分类代码示例以下是使用预训练模型进行图像分类的完整代码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_large_patch16_224.augreg_in21k, pretrainedTrue) model model.eval() # 获取模型特定的图像变换归一化、 resize 等 data_config timm.data.resolve_model_data_config(model) transforms timm.data.create_transform(**data_config, is_trainingFalse) # 执行推理 output model(transforms(img).unsqueeze(0)) # 增加批次维度 # 获取Top5预测结果 top5_probabilities, top5_class_indices torch.topk(output.softmax(dim1) * 100, k5)3️⃣ 代码解析模型加载通过timm.create_model函数加载预训练模型pretrainedTrue表示使用在ImageNet-21k上训练的权重。图像预处理resolve_model_data_config和create_transform函数会根据模型需求自动生成合适的图像预处理管道包括归一化和尺寸调整。推理过程将预处理后的图像输入模型得到分类结果再通过torch.topk获取置信度最高的5个类别。 进阶应用提取图像特征除了直接进行分类该模型还可以用于提取图像特征用于后续的任务如相似度计算、聚类等from urllib.request import urlopen from PIL import Image import timm # 加载图像 img Image.open(urlopen( https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png )) # 加载模型移除分类头 model timm.create_model( vit_large_patch16_224.augreg_in21k, pretrainedTrue, num_classes0, # 移除分类层 ) model model.eval() # 获取图像变换 data_config timm.data.resolve_model_data_config(model) transforms timm.data.create_transform(**data_config, is_trainingFalse) # 提取特征 output model(transforms(img).unsqueeze(0)) # 输出形状为 (batch_size, num_features) 模型配置详情模型的详细配置信息可以在config.json文件中找到包括输入图像尺寸3×224×224归一化参数mean [0.5, 0.5, 0.5]std [0.5, 0.5, 0.5]分类类别数21843特征维度1024 参考资料模型卡片README.md配置文件config.json任务定义configuration.json 引用说明如果你的项目使用了该模型请考虑引用以下论文article{steiner2021augreg, title{How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers}, author{Steiner, Andreas and Kolesnikov, Alexander and and Zhai, Xiaohua and Wightman, Ross and Uszkoreit, Jakob and Beyer, Lucas}, journal{arXiv preprint arXiv:2106.10270}, year{2021} } article{dosovitskiy2020vit, title{An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale}, author{Dosovitskiy, Alexey and Beyer, Lucas and Kolesnikov, Alexander and Weissenborn, Dirk and Zhai, Xiaohua and Unterthiner, Thomas and Dehghani, Mostafa and Minderer, Matthias and Heigold, Georg and Gelly, Sylvain and Uszkoreit, Jakob and Houlsby, Neil}, journal{ICLR}, year{2021} }通过本指南你已经掌握了使用vit_large_patch16_224.augreg_in21k模型构建图像分类器的基本方法。无论是进行图像识别还是特征提取这个预训练模型都能为你的项目提供强大的视觉理解能力【免费下载链接】vit_large_patch16_224.augreg_in21k项目地址: https://ai.gitcode.com/hf_mirrors/timm/vit_large_patch16_224.augreg_in21k创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考