timm/dm_nfnet_f1.dm_in1k

timm
Clasificación de imagen

Un modelo de clasificación de imágenes NFNet (Red sin Normalización). Entrenado en ImageNet-1k por los autores del documento. Las redes de Normalización Gratuita son modelos similares a ResNet (pre-activación) sin capas de normalización. En lugar de Batch Normalization o alternativas, utilizan la Normalización de Peso Escalada y ganancias escalares ubicadas específicamente en el camino residual y en las no linealidades basadas en el análisis de propagación de señales.

Como usar

from urllib.request import urlopen
from PIL import Image
import timm

# Clasificación de imágenes
img = Image.open(urlopen('https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'))
model = timm.create_model('dm_nfnet_f1.dm_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 imagen única en 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('dm_nfnet_f1.dm_in1k', pretrained=True, features_only=True)
model = model.eval()
output = model(transforms(img).unsqueeze(0))
for o in output:
    print(o.shape)

# Embeddings de imágenes
model = timm.create_model('dm_nfnet_f1.dm_in1k', pretrained=True, num_classes=0) # eliminar clasificador nn.Linear
model = model.eval()
output = model(transforms(img).unsqueeze(0))

# Alternativamente (sin necesidad de establecer num_classes=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 de mapas de características
Embeddings de imágenes
Comparación de modelos

Casos de uso

Clasificación de imágenes
Extracción de mapas de características para análisis detallado
Generación de embeddings de imágenes para aplicaciones avanzadas de visión por computadora