facebook/dinov2-large-imagenet1k-1-layer
El Vision Transformer (ViT) es un modelo de codificador transformer (similar a BERT) preentrenado en una gran colección de imágenes de manera autosupervisada. Las imágenes se presentan al modelo como una secuencia de parches de tamaño fijo, que se incrustan linealmente. También se agrega un token [CLS] al comienzo de una secuencia para usarlo en tareas de clasificación. Además, se agregan incrustaciones de posición absoluta antes de alimentar la secuencia a las capas del codificador transformer. Este modelo no incluye ninguna cabeza refinada. Al preentrenar el modelo, aprende una representación interna de las imágenes que luego se puede utilizar para extraer características útiles para tareas posteriores: si tienes un conjunto de datos de imágenes etiquetadas, por ejemplo, puedes entrenar un clasificador estándar colocando una capa lineal sobre el codificador preentrenado.
Como usar
Aquí tienes cómo usar este modelo:
from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import requests
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained('facebook/dinov2-large-imagenet1k-1-layer')
model = AutoModelForImageClassification.from_pretrained('facebook/dinov2-large-imagenet1k-1-layer')
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
Funcionalidades
- Clasificación de imágenes
- Transformers
- PyTorch
- Safetensors
- imagenet-1k
- DINOv2
- Visión
Casos de uso
- Clasificación de una imagen entre una de las 1000 etiquetas de ImageNet