timm/resnet50.a1_in1k
timm
Clasificación de imagen
Un modelo de clasificación de imágenes ResNet-B. Este modelo cuenta con: activaciones ReLU, una única capa de convolución 7x7 con pool, atajo de reducción con convolución 1x1. Fue entrenado en ImageNet-1k en timm utilizando la plantilla de receta descrita a continuación. Detalles de la receta: receta A1 de ResNet Strikes Back, optimizador LAMB con pérdida BCE, plan de tasas de aprendizaje coseno con calentamiento.
Como usar
from urllib.request import urlopen
from PIL import Image
import timm
# Clasificación de Imagen
img = Image.open(urlopen('https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'))
model = timm.create_model('resnet50.a1_in1k', pretrained=True)
model = model.eval()
# Obtener transformaciones específicas del modelo (normalización, redimensionamiento)
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)) # Redimensionar la imagen en un lote de 1
top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)
# Extracción de Mapas de Características
model = timm.create_model('resnet50.a1_in1k', pretrained=True, features_only=True)
model = model.eval()
output = model(transforms(img).unsqueeze(0)) # Redimensionar la imagen en un lote de 1
for o in output:
print(o.shape)
# Embeddings de Imagen
model = timm.create_model('resnet50.a1_in1k', pretrained=True, num_classes=0) # Eliminar clasificador nn.Linear
model = model.eval()
output = model(transforms(img).unsqueeze(0)) # El output es un tensor de forma (batch_size, num_features)
output = model.forward_features(transforms(img).unsqueeze(0)) # El output es un tensor de forma (1, 2048, 7, 7)
output = model.forward_head(output, pre_logits=True) # El output es un tensor de forma (1, num_features)
Funcionalidades
- Activaciones ReLU
- Capa única de convolución 7x7 con pool
- Atajo de reducción con convolución 1x1
- Entrenado en ImageNet-1k utilizando recetas timm
- Receta A1 de ResNet Strikes Back
- Optimizador LAMB con pérdida BCE
- Plan de tasas de aprendizaje coseno con calentamiento
Casos de uso
- Clasificación de imágenes
- Extracción de mapas de características
- Obtención de embeddings de imagen