Data-efficient Image Transformer (DeiT) base-size
El modelo Data-efficient Image Transformer (DeiT) preentrenado y ajustado en ImageNet-1k (1 millón de imágenes, 1,000 clases) a una resolución de 224x224. Fue introducido por primera vez en el artículo 'Training data-efficient image transformers & distillation through attention' por Touvron et al. y lanzado por primera vez en este repositorio. Los pesos fueron convertidos del repositorio timm por Ross Wightman. Este modelo es en realidad un Transformador de Visión (Vision Transformer, ViT) entrenado de manera más eficiente.
Como usar
Dado que este modelo está entrenado de manera más eficiente, se puede integrar en ViTModel o ViTForImageClassification. El modelo espera que los datos se preparen usando DeiTFeatureExtractor aunque también se puede usar AutoFeatureExtractor.
from transformers import AutoFeatureExtractor, 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 = AutoFeatureExtractor.from_pretrained('facebook/deit-base-patch16-224')
model = ViTForImageClassification.from_pretrained('facebook/deit-base-patch16-224')
inputs = feature_extractor(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])
Actualmente, tanto el extractor de características como el modelo son compatibles con PyTorch. Tensorflow y JAX/FLAX estarán disponibles pronto.
Funcionalidades
- Modelo Transformer de visión
- Preentrenamiento en ImageNet-1k
- Resolución de 224x224 píxeles
- Incluye token [CLS] para tareas de clasificación
- Embeddings de posición absoluta
- Entrenado en una sola GPU de 8 nodos durante 3 días
Casos de uso
- Clasificación de imágenes
- Tareas de visión por computadora
- Extracción de características para tareas descendentes