hiera_base_224.mae_in1k_ft_in1k

timm
Clasificación de imagen

Un modelo de clasificación de imágenes Hiera. Entrenado previamente en ImageNet-1k con el método de Autoencoder Enmascarado Auto-supervisado (MAE) y ajustado en ImageNet-1k.

Como usar

Clasificación de imágenes```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('hiera_base_224.mae_in1k_ft_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)) # unsqueeze imagen única en lote de 1 top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)


Extracción de mapa de características```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('hiera_base_224.mae_in1k_ft_in1k', pretrained=True, features_only=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)) # unsqueeze imagen única en lote de 1

for o in output: # imprimir la forma de cada mapa de características en la salida
print(o.shape)

Embeddings de imágenes```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('hiera_base_224.mae_in1k_ft_in1k', pretrained=True, num_classes=0) # eliminar el clasificador 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) output = model.forward_features(transforms(img).unsqueeze(0)) # salida sin pooled, tensor con forma (1, 49, 768) output = model.forward_head(output, pre_logits=True) # salida es un tensor con forma (1, num_features)

Funcionalidades

Clasificación de imágenes
Extracción de mapa 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 de imágenes
Generación de embeddings de imágenes para tareas de machine learning