regnetz_d8.ra3_in1k

timm
Clasificación de imagen

Un modelo de clasificación de imágenes RegNetZ. Entrenado en ImageNet-1k por Ross Wightman en timm. Estos modelos RegNetZ B / C / D exploran diferentes tamaños de grupo y configuraciones de capa y no siguieron ninguna descripción en papel. Similar a EfficientNets, esta arquitectura utiliza salidas de bloques lineales (no activadas) y una inversión de cuello de botella (expansión de bloque medio). La arquitectura de este modelo se implementa mediante la flexible BYOBNet (Bring-Your-Own-Blocks Network) de timm.

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('regnetz_d8.ra3_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 imagen única 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

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('regnetz_d8.ra3_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)) # redimensionar imagen única en un lote de 1

for o in output:
    print(o.shape)

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('regnetz_d8.ra3_in1k', pretrained=True, num_classes=0) # elimine la capa classifier
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 de forma (batch_size, num_features)

Funcionalidades

Clasificación de imágenes
Extracción de mapas de características
Embeddings de imágenes
Comparación de modelos
Profundidad estocástica
Checkpoint de gradiente
Decaimiento de LR por capa
Extracción de características por etapa

Casos de uso

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