timm/vit_base_patch16_224.augreg_in21k

timm
Clasificación de imagen

Un modelo de clasificación de imágenes Vision Transformer (ViT). Entrenado en ImageNet-21k (con aumento y regularización adicionales) en JAX por los autores del artículo, portado a PyTorch por Ross Wightman.

Como usar

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_base_patch16_224.augreg_in21k', pretrained=True)
model = model.eval()

# obtener transformaciones específicas del modelo (normalización, cambio de tamaño)
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)) # añadir una dimensión al lote de 1

top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=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_base_patch16_224.augreg_in21k', pretrained=True, num_classes=0) # eliminar el clasificador nn.Linear
model = model.eval()

# obtener transformaciones específicas del modelo (normalización, cambio de tamaño)
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)) # la salida es un tensor con la forma (batch_size, num_features)

# también puede equivalerse a la siguiente instrucción

output = model.forward_features(transforms(img).unsqueeze(0)) # la salida no está agrupada, es un tensor con la forma (1, 197, 768)

output = model.forward_head(output, pre_logits=True) # la salida es un tensor con la forma (1, num_features)

Funcionalidades

Clasificación de imágenes
Embeddings de imágenes
Transformaciones específicas del modelo (normalización, cambio de tamaño)
Modelo de transformación de visión (ViT)

Casos de uso

Clasificación de imágenes
Extracción de características de imágenes