microsoft/beit-base-patch16-384

microsoft
Clasificación de imagen

El modelo BEiT, preentrenado de manera auto supervisada en ImageNet-21k (14 millones de imágenes, 21,841 clases) a una resolución de 224x224, y ajustado en ImageNet 2012 (1 millón de imágenes, 1,000 clases) a una resolución de 384x384. Se introdujo en el artículo 'BEIT: BERT Pre-Training of Image Transformers' por Hangbo Bao, Li Dong y Furu Wei. El modelo BEiT es un Transformer de Visión (ViT) que en lugar de las implementaciones originales de ViT, utiliza incrustaciones de posición relativas. Esto le permite realizar la clasificación de imágenes agrupando las salidas finales de los estados ocultos de los parches de imagen. El modelo aprende una representación interna de imágenes que puede ser usada para tareas posteriores, como colocar una capa lineal encima para clasificar imágenes etiquetadas.

Como usar

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

from transformers import BeitFeatureExtractor, BeitForImageClassification
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 = BeitFeatureExtractor.from_pretrained('microsoft/beit-base-patch16-384')
model = BeitForImageClassification.from_pretrained('microsoft/beit-base-patch16-384')
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])

Actualmente, tanto el extractor de características como el modelo soportan PyTorch.

Funcionalidades

Modelo Transformer de Visión (ViT)
Preentrenado auto supervisado en ImageNet-21k
Ajustado en ImageNet 2012
Uso de incrustaciones de posición relativas
Clasificación de imágenes mediante agrupación de estados ocultos

Casos de uso

Clasificación de imágenes en datasets grandes como ImageNet
Preentrenamiento auto supervisado para aprendizaje de representación
Extracción de características de imágenes para tareas posteriores