nvidia/mit-b5

nvidia
Clasificación de imagen

Segmentador (encoder de tamaño b5) preentrenado. El encoder SegFormer afinado en Imagenet-1k. Fue introducido en el artículo SegFormer: Diseño Simple y Eficiente para Segmentación Semántica con Transformers por Xie et al. y se publicó por primera vez en este repositorio. SegFormer consiste en un encoder Transformer jerárquico y una cabeza de decodificación ligera completamente MLP para alcanzar grandes resultados en benchmarks de segmentación semántica como ADE20K y Cityscapes. El Transformer jerárquico es primero preentrenado en ImageNet-1k, después de lo cual se añade una cabeza de decodificación y se afinan juntos en un conjunto de datos descendente. Este repositorio solo contiene el Transformer jerárquico preentrenado, por lo tanto, puede ser usado para propósitos de ajuste fino.

Como usar

Aquí está cómo usar este modelo para clasificar una imagen del conjunto de datos COCO 2017 en una de las 1,000 clases de ImageNet:

from transformers import SegformerFeatureExtractor, SegformerForImageClassification
from PIL import Image
import requests

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

feature_extractor = SegformerFeatureExtractor.from_pretrained("nvidia/mit-b5")
model = SegformerForImageClassification.from_pretrained("nvidia/mit-b5")

inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
# el modelo predice una de las 1000 clases de ImageNet
predicted_class_idx = logits.argmax(-1).item()
print("Clase predicha:", model.config.id2label[predicted_class_idx])

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

Funcionalidades

Encoder Transformer jerárquico
Cabeza de decodificación completamente MLP
Pre-entrenamiento en ImageNet-1k
Afinación en conjuntos de datos de segmentación semántica

Casos de uso

Afinación para segmentación semántica
Clasificación de imágenes