Data-efficient Image Transformer (DeiT) base-size

facebook
Clasificación de imagen

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