microsoft/beit-large-patch16-224
El modelo BEiT está pre-entrenado 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 224x224. Se introdujo en el artículo BEIT: BERT Pre-Training of Image Transformers por Hangbo Bao, Li Dong y Furu Wei, y se lanzó por primera vez en este repositorio. Este modelo es un Vision Transformer (ViT), que es un modelo de codificador transformer (similar a BERT). A diferencia del modelo ViT original, BEiT está preentrenado en una gran colección de imágenes de manera auto-supervisada, es decir, ImageNet-21k, a una resolución de 224x224 píxeles. El objetivo de preentrenamiento del modelo es predecir tokens visuales del codificador VQ-VAE de DALL-E de OpenAI, basado en parches enmascarados. Posteriormente, el modelo se afinó de manera supervisada en ImageNet (también conocido como ILSVRC2012), un conjunto de datos que comprende 1 millón de imágenes y 1,000 clases, también a la resolución de 224x224.
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 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-large-patch16-224')
model = BeitForImageClassification.from_pretrained('microsoft/beit-large-patch16-224')
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
- Preentrenamiento auto-supervisado en ImageNet-21k
- Ajuste fino supervisado en ImageNet 2012
- Resolución de 224x224
- Usa embeddings de posición relativos
- Clasificación de imágenes mediante mean-pooling de los estados ocultos finales de los parches
Casos de uso
- Clasificación de imágenes
- Extracción de características útiles para tareas posteriores utilizando un dataset de imágenes etiquetadas