maxvit_xlarge_tf_512.in21k_ft_in1k

timm
Clasificación de imagen

Un modelo oficial de clasificación de imágenes MaxViT. Preentrenado en tensorflow en ImageNet-21k (21843 instancias específicas de Google de ImageNet-22k) y ajustado en ImageNet-1k por los autores del artículo. Portado de la implementación oficial de Tensorflow a PyTorch por Ross Wightman.

Como usar

python 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('maxvit_xlarge_tf_512.in21k_ft_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)) # convertir una sola imagen en un lote de 1 top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5) python 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( 'maxvit_xlarge_tf_512.in21k_ft_in1k', pretrained=True, features_only=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)) # convertir una sola imagen en un lote de 1 for o in output: print(o.shape) python 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( 'maxvit_xlarge_tf_512.in21k_ft_in1k', pretrained=True, num_classes=0, # eliminar el clasificador nn.Linear ) 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)) # la salida es un tensor (batch_size, num_features) # o equivalentemente (sin necesidad de establecer num_classes=0) output = model.forward_features(transforms(img).unsqueeze(0)) # la salida no está agrupada, es un tensor de forma (1, 1536, 16, 16) output = model.forward_head(output, pre_logits=True) # la salida es un tensor de forma (1, num_features)

Funcionalidades

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

Casos de uso

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