repvgg_b0.rvgg_in1k

timm
Clasificación de imagen

Un modelo de clasificación de imágenes RepVGG. Entrenado en ImageNet-1k por los autores del artículo. Esta arquitectura de modelo se implementa utilizando BYOBNet (Bring-Your-Own-Blocks Network) flexible de timm. BYOBNet permite la configuración de: diseño de bloques/etapas, diseño de la base (stem), salida por etapas (dilación), capas de activación y normalización, capas de atención espacial/auto-atención, y también incluye características de timm comunes en muchas otras arquitecturas, incluyendo: profundidad estocástica, punto de control de gradiente, decaimiento de LR por capas y extracción de características por etapas. El modelo tiene 15.8M de parámetros, 3.4 GMACs, 6.1M activaciones y tamaño de imagen de 224 x 224. Basado en el documento 'RepVGG: Making VGG-style ConvNets Great Again'.

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('repvgg_b0.rvgg_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)

Extracción del Mapa de Características

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('repvgg_b0.rvgg_in1k', pretrained=True, features_only=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))

for o in output:
    print(o.shape)

Emisión de 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('repvgg_b0.rvgg_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))

output = model.forward_features(transforms(img).unsqueeze(0))
output = model.forward_head(output, pre_logits=True)

Funcionalidades

Clasificación de imágenes
Extracción del mapa de características
Emisión de embeddings de imágenes
Comparación del modelo

Casos de uso

Clasificación de imágenes en diversas aplicaciones
Extracción de mapas de características para análisis de imágenes
Generación de embeddings para tareas de similitud de imágenes
Comparación del rendimiento del modelo con otros modelos