SegFormer (encoder solamente preentrenado de tamaño b1)

nvidia
Clasificación de imagen

SegFormer (encoder solamente preentrenado de tamaño b1) es un modelo de encoder con un Transformer jerárquico preentrenado en ImageNet-1k. SegFormer consiste en un encoder basado en Transformer y un cabeza de decodificación todo-MLP ligero que logra excelentes resultados en benchmarks de segmentación semántica como ADE20K y Cityscapes. Este repositorio solo contiene el Transformer jerárquico preentrenado, por lo que puede usarse para propósitos de ajuste fino.

Como usar

Aquí se explica 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-b1")
model = SegformerForImageClassification.from_pretrained("nvidia/mit-b1")

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])

Funcionalidades

Encoder basado en Transformer jerárquico
Cabeza de decodificación ligera todo-MLP
Preentrenado en ImageNet-1k

Casos de uso

Ajuste fino para segmentación semántica