levit_384.fb_dist_in1k

timm
Clasificación de imagen

Un modelo de clasificación de imágenes LeViT que utiliza el modo convolucional (usando nn.Conv2d y nn.BatchNorm2d). Preentrenado en ImageNet-1k utilizando la destilación por los autores del artículo. El modelo puede ser utilizado tanto para la clasificación de imágenes como para la obtención de embeddings de imágenes.

Como usar

Clasificación de imágenes

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('levit_384.fb_dist_in1k', 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 dimensión de batch

top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)

Embeddings de imágenes

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(
'levit_384.fb_dist_in1k',
pretrained=True,
num_classes=0, # eliminar la capa clasificadora 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 forma (batch_size, num_features)

# o de manera equivalente (sin necesidad de ajustar num_classes=0)

output = model.forward_features(transforms(img).unsqueeze(0))
# la salida no es agrupada (es decir, un tensor con forma (batch_size, num_features, H, W))

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

Funcionalidades

Tipo de modelo: Clasificación de imágenes / componente básico de características
Parámetros (M): 39.1
GMACs: 2.4
Activaciones (M): 6.3
Tamaño de imagen: 224 x 224
Preentrenado en ImageNet-1k

Casos de uso

Clasificación de imágenes
Obtención de embeddings de imágenes