resnext101_32x8d.fb_wsl_ig1b_ft_in1k

timm
Clasificación de imagen

Un modelo de clasificación de imágenes ResNeXt-B. Este modelo presenta activaciones ReLU, una capa única de convolución 7x7 con agrupamiento, un atajo de muestreo corto de convolución 1x1 y convoluciones agrupadas de cuello de botella 3x3. Preentrenado en el conjunto de datos de hashtags Instagram-1B utilizando aprendizaje débilmente supervisado y afinado en ImageNet-1k por los autores del artículo.

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('resnext101_32x8d.fb_wsl_ig1b_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)) # añadir una dimensión para hacer batch de 1

top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)

Extracción del Mapa 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(
'resnext101_32x8d.fb_wsl_ig1b_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)) # añadir una dimensión para hacer batch de 1

for o in output:
# imprimir forma de cada mapa de características en la salida
# e.g.:
#  torch.Size([1, 64, 112, 112])
#  torch.Size([1, 256, 56, 56])
#  torch.Size([1, 512, 28, 28])
#  torch.Size([1, 1024, 14, 14])
#  torch.Size([1, 2048, 7, 7])

print(o.shape)

Funcionalidades

Activaciones ReLU
Capa única de convolución 7x7 con agrupamiento
Atajo de muestreo corto de convolución 1x1
Convoluciones agrupadas de cuello de botella 3x3

Casos de uso

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