ImageNet-1k图像分类与嵌入的DeiT-III解决方案
DeiT-III是一款经过ImageNet-1k训练的图像分类和嵌入模型,拥有86.6M参数以及17.6 GMACs。该模型可以进行图像特征提取与多任务处理,适用于各种视觉应用。对于图形识别及计算机视觉项目的从业者而言,其为ViT提供了一个新的升级途径。
deit3_base_patch16_224.fb_in1k项目是一个用于图像分类的模型,这个模型由DeiT-III发展而来,并在ImageNet-1k数据集上经过训练。DeiT-III是Vision Transformer(ViT)架构的改良版本,用于提升图像分类的性能。
这个模型的详细信息可以在论文《DeiT III: Revenge of the ViT》中找到,链接为此处。同时,开源项目可以在GitHub上访问。
模型是在ImageNet-1k数据集上进行训练的。这是一个广泛使用的大型图像数据库,适用于不同的图像识别和分类任务。
用户可以通过Python代码实现图像分类。首先,使用timm
库加载模型,并对输入图像进行转换处理(包括归一化和调整大小)。然后,通过模型对图像进行预测,可以获取预测概率最高的前五个类别。
from urllib.request import urlopen from PIL import Image import timm img = Image.open(urlopen('https://路径/到/图像')) model = timm.create_model('deit3_base_patch16_224.fb_in1k', 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_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)
模型也可以用于提取图像的特征向量。通过设置num_classes=0
,可以去除分类层,仅输出特征向量。这在许多计算机视觉任务中都很有用,如相似图像搜索或图像聚类。
from urllib.request import urlopen from PIL import Image import timm img = Image.open(urlopen('https://路径/到/图像')) model = timm.create_model('deit3_base_patch16_224.fb_in1k', pretrained=True, num_classes=0) 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))
用户可以通过timm
库的model results页面来比较此模型与其他模型在数据集上的表现和运行时指标。
如果使用此模型或其相关工作,建议参考以下引用格式:
@article{Touvron2022DeiTIR, title={DeiT III: Revenge of the ViT}, author={Hugo Touvron and Matthieu Cord and Herve Jegou}, journal={arXiv preprint arXiv:2204.07118}, year={2022}, }
@misc{rw2019timm, author = {Ross Wightman}, title = {PyTorch Image Models}, year = {2019}, publisher = {GitHub}, journal = {GitHub repository}, doi = {10.5281/zenodo.4414861}, howpublished = {\url{https://github.com/huggingface/pytorch-image-models}} }
通过这些信息,希望能够帮助大家更好地理解和应用deit3_base_patch16_224.fb_in1k模型,以解决相关的图像分类问题。