microsoft/beit-base-patch16-384
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