DeiT

DeiT (Data-efficient image Transformer) es un clasificador Vision Transformer puro entrenado únicamente con ImageNet-1k, sin datos de preentrenamiento adicionales. LibreYOLO incluye los tamaños tiny, small y base con patch-16 como una pieza de museo congelada y solo de inferencia.

Tareas
classify
Tamaños
t, s, b at 224 px
Instalación
pip install libreyolo
Nivel de compatibilidad
Museo, desde v. Pieza de exposición congelada. Solo se corrigen errores.
Proyecto original
DeiT de Meta Research, Apache-2.0. Artículo, fuente
Licencias
Código Apache-2.0, pesos Apache-2.0. Uso comercial

Instalación

DeiT no necesita ningún extra más allá del paquete base.

bash
pip install libreyolo

Predicción

Esta familia es solo de inferencia: train() lanza NotImplementedError, así que esta página no tiene sección de entrenamiento. La predicción, la validación y la exportación sí están soportadas. Los pesos se descargan de Hugging Face en el primer uso y se guardan en la caché local. El sufijo -cls del nombre de archivo es obligatorio y selecciona la tarea de clasificación.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDeiTb-cls.pt")result = model(SAMPLE_IMAGE) print(result.probs.top1, result.probs.top1conf)print(result.probs.top5)
CLI
libreyolo predict model=LibreDeiTb-cls.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg

El objeto Results que se devuelve lleva un tensor probs en lugar de boxes; top1 y top5 indexan las 1.000 clases de ImageNet-1k y top1conf es la puntuación softmax de la predicción principal. Cada tamaño tiene una resolución de entrada fija que viene de su positional embedding: el preprocesado redimensiona y recorta al centro hasta esa resolución, y pasar un imgsz distinto lanza un error en lugar de remuestrear en silencio. Consulta predicción para fuentes, streaming y manejo de resultados.

Validación

val() devuelve un diccionario con la precisión top-1 y top-5, medida sobre un dataset organizado en la estructura de carpetas convencional train/<class>/ y val/<class>/.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeiTb-cls.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])
CLI
libreyolo val model=LibreDeiTb-cls.pt data=my-dataset.yaml

Exportación

TareaONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
classifyclassify to ONNX: compatibleclassify to TorchScript: compatibleclassify to ExecuTorch: compatibleclassify to TensorRT: compatibleclassify to OpenVINO: compatibleclassify to Paddle: no compatibleclassify to MNN: no compatibleclassify to RKNN: no compatibleclassify to ncnn: compatibleclassify to TFLite: no compatibleclassify to CoreML: no compatibleclassify to Core AI: no compatible

Un artefacto exportado se vuelve a cargar con LibreYOLO() según su extensión de archivo, así que un archivo .onnx o .engine se comporta como un checkpoint y devuelve el mismo Results. Ejecutar el grafo en un runtime pelado, sin LibreYOLO instalado, también está soportado, pero entonces el preprocesado y el postprocesado corren de tu cuenta.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDeiTb-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreDeiTb-cls.pt format=onnxlibreyolo export model=LibreDeiTb-cls.pt format=tensorrt half=True
Usar el archivo exportado
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La factoría enruta según la extensión del archivo, así que un artefacto# exportado se carga como cualquier checkpoint y devuelve el mismo objeto# Results.model = LibreYOLO("LibreDeiTb-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Checkpoints

Todos los archivos de pesos publicados de esta familia.

ArchivoEntrada (px)Licencia de los pesos
classify
LibreDeiTt-cls.pt224apache-2.0
LibreDeiTs-cls.pt224apache-2.0
LibreDeiTb-cls.pt224apache-2.0

Todos los archivos anteriores existen hoy en la organización de LibreYOLO y se descargan la primera vez que se usan.

Licencia

Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.

Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.

Trabajo original
DeiT, Meta Research
Licencia del proyecto original
Apache-2.0
Fuente del proyecto original
github.com/facebookresearch/deit
Código de LibreYOLO
MIT
Pesos
Apache-2.0, republicados en huggingface.co/LibreYOLO
Interpretación
Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. It places no obligation on your own application code, and weights you train yourself on your own data are yours. LibreYOLO ships the plain tiny, small and base patch-16 classifiers at fixed 224px only; the distillation-token, CaiT, DeiT III and 384px variants from the same repository are out of scope.

Cita

@InProceedings{pmlr-v139-touvron21a,
  title =     {Training data-efficient image transformers & distillation through attention},
  author =    {Touvron, Hugo and Cord, Matthieu and Douze, Matthijs and Massa, Francisco and Sablayrolles, Alexandre and Jegou, Herve},
  booktitle = {International Conference on Machine Learning},
  pages =     {10347--10357},
  year =      {2021},
  volume =    {139},
  month =     {July}
}

Copiado del bloque de cita de los autores en github.com/facebookresearch/deit#-model-zoo.

Verificado con LibreYOLO v1.5.0. Las tablas de compatibilidad, los checkpoints y las cifras de rendimiento de esta página se generan a partir de la biblioteca publicada y los pesos publicados; no se escriben a mano.