google/vit-large-patch16-224
El modelo Vision Transformer (ViT) preentrenado en ImageNet-21k (14 millones de imágenes, 21,843 clases) a una resolución de 224x224, y ajustado en ImageNet 2012 (1 millón de imágenes, 1,000 clases) a la misma resolución. Fue introducido en el artículo 'An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale' por Dosovitskiy et al. y liberado por primera vez en este repositorio. Las versiones en PyTorch las convirtión Ross Wightman desde JAX. ViT es un modelo de codificador tipo Transformer (similar a BERT) preentrenado en una gran colección de imágenes en modo supervisado (ImageNet-21k). Posteriormente, se ajustó en ImageNet (también conocido como ILSVRC2012) para clasificación de imágenes. El modelo se ha entrenado para representar internamente imágenes y extraer características útiles para tareas posteriores como clasificación.
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 ViTFeatureExtractor, ViTForImageClassification
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 = ViTFeatureExtractor.from_pretrained('google/vit-large-patch16-224')
model = ViTForImageClassification.from_pretrained('google/vit-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("Predicted class:", model.config.id2label[predicted_class_idx])
Funcionalidades
- Clasificación de imágenes
- Uso de parches de tamaño fijo (resolución 16x16)
- Inclusión de un token [CLS] para tareas de clasificación
- Embeddings posicionales absolutos
- Preentrenamiento en ImageNet-21k
- Ajuste en ImageNet
Casos de uso
- Clasificación de imágenes
- Extracción de características de imágenes para tareas posteriores
- Entrenamiento de clasificadores estándar con un capa lineal encima del codificador preentrenado