microsoft/resnet-101

microsoft
Clasificación de imagen

ResNet (Red Residual) es una red neuronal convolucional que democratizó los conceptos de aprendizaje residual y conexiones de salto. Esto permite entrenar modelos mucho más profundos. Esta es la versión ResNet v1.5, que difiere del modelo original: en los bloques de cuello de botella que requieren subsampling, v1 tiene stride = 2 en la primera convolución 1x1, mientras que v1.5 tiene stride = 2 en la convolución 3x3. Esta diferencia hace que ResNet50 v1.5 sea ligeramente más precisa (~0.5% top1) que v1, pero viene con una pequeña desventaja de rendimiento (~5% imgs/seg) según Nvidia. El modelo ResNet-101 v1.5 está pre-entrenado en ImageNet-1k a resolución 224x224. Fue introducido en el artículo 'Aprendizaje Residual Profundo para el Reconocimiento de Imágenes' por He et al.

Como usar

Aquí te mostramos cómo usar este modelo para clasificar una imagen del dataset COCO 2017 en una de las 1,000 clases de ImageNet:

from transformers import AutoFeatureExtractor, ResNetForImageClassification
import torch
from datasets import load_dataset

dataset = load_dataset("huggingface/cats-image")
image = dataset["test"]["image"][0]

feature_extractor = AutoFeatureExtractor.from_pretrained("microsoft/resnet-101")
model = ResNetForImageClassification.from_pretrained("microsoft/resnet-101")

inputs = feature_extractor(image, return_tensors="pt")

with torch.no_grad():
  logits = model(**inputs).logits

  # model predice una de las 1000 clases de ImageNet
  predicted_label = logits.argmax(-1).item()
  print(model.config.id2label[predicted_label])

Para más ejemplos de código, consulta la documentación.

Funcionalidades

Modelo ResNet-101 v1.5 pre-entrenado
Convoluciones residuales y conexiones de salto
Capacidad de entrenar modelos muy profundos
Mejora en precisión (~0.5% top1) en comparación con la versión original
Desempeño en ImageNet-1k

Casos de uso

Clasificación de imágenes en tareas variadas con métodos de aprendizaje profundo.
Desarrollo de modelos finamente ajustados para tareas específicas utilizando versiones pre-entrenadas.