Ver como Markdown

Swin Transformer

Swin Transformer V1: un vision transformer jerárquico que calcula la atención dentro de ventanas locales desplazadas en lugar de sobre la imagen entera. LibreYOLO incluye cuatro tamaños para clasificación de imágenes.

Tareas
classify
Tamaños
t, s, b, l at 224 px
Instalación
pip install libreyolo
Nivel de compatibilidad
Solo inferencia, desde v. Solo permite predecir, validar y exportar. Las funciones de entrenamiento no se aplican.
Proyecto original
Swin Transformer de Microsoft Research, MIT. Artículo, fuente
Licencias
Código Apache-2.0, pesos MIT. Uso comercial

Instalación

Swin no necesita ningún extra opcional. Todo lo que importa está en la instalación base.

bash
pip install libreyolo

Predicción

Los pesos se descargan de Hugging Face en el primer uso y se guardan en la caché local.

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

Un clasificador devuelve result.probs en lugar de result.boxes: top1 y top5 dan los índices de clase, y top1conf y top5conf dan sus confianzas. Todos los tamaños están fijados a una entrada de 224px, porque la etapa final de atención está construida para esa resolución; la predicción, la validación y la exportación lanzan un error si pasas un imgsz distinto. Consulta predicción para fuentes, streaming y manejo de resultados.

Variantes

Cuatro tamaños, de tiny a large, construidos sobre la misma torre de ventanas desplazadas y que se diferencian en el ancho del embedding y en la profundidad de cada etapa. El large está preentrenado en ImageNet-22k y ajustado con fine-tuning en ImageNet-1k; los otros tres se entrenan directamente en ImageNet-1k. LibreYOLO incluye esta familia solo para inferencia: la predicción, la validación top-1/top-5 al estilo ImageNet y la exportación están soportadas, y la receta de entrenamiento en ImageNet del proyecto original no está implementada.

Validación

val() se ejecuta sobre un split al estilo ImageFolder (un directorio con subcarpetas train/ y val/, una carpeta por clase) y devuelve la precisión top-1 y top-5.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreSwint-cls.pt") # data es un directorio raíz con splits train/ y val/ en carpetas por# clase (estructura ImageFolder), no un YAML de dataset.metrics = model.val(data="imagenet-1k/") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])
CLI
libreyolo val model=LibreSwint-cls.pt data=imagenet-1k/

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. Exportación enumera los argumentos que acepta cada formato y los extras que añaden algunos de ellos.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreSwint-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreSwint-cls.pt format=onnxlibreyolo export model=LibreSwint-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("LibreSwint-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
LibreSwint-cls.pt224mit
LibreSwins-cls.pt224mit
LibreSwinb-cls.pt224mit
LibreSwinl-cls.pt224mit

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
Swin Transformer, Microsoft Research
Licencia del proyecto original
MIT
Fuente del proyecto original
github.com/microsoft/Swin-Transformer
Código de LibreYOLO
MIT
Pesos
MIT, republicados en huggingface.co/LibreYOLO
Interpretación
MIT is a permissive license, so these weights can be used in commercial and closed-source products. It asks only that you keep the license text and copyright notice with any copy you redistribute, and it carries no explicit patent grant. LibreYOLO's runtime code for this family is a derived port of the Apache-2.0 timm Swin implementation (Ross Wightman, huggingface/pytorch-image-models), kept parameter-name compatible so the tensors load unchanged; the four released Tiny/Small/Base/Large checkpoints are Microsoft's own MIT-licensed patch-4/window-7 classifiers. Code and weights therefore sit under two different permissive licenses, both of which allow commercial use.

Cita

@inproceedings{liu2021Swin,
  title={Swin Transformer: Hierarchical Vision Transformer using Shifted Windows},
  author={Liu, Ze and Lin, Yutong and Cao, Yue and Hu, Han and Wei, Yixuan and Zhang, Zheng and Lin, Stephen and Guo, Baining},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
  year={2021}
}

Copiado del bloque de cita de los autores en github.com/microsoft/Swin-Transformer#citing-swin-transformer.

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.