Biblioteca de PyTorch con arquitecturas de modelos de imagen, pesos preentrenados y scripts de entrenamiento, validación y exportación para tareas de visión artificial.
google-research/vision_transformer
Código JAX/Flax y checkpoints preentrenados para modelos de clasificación de imágenes Vision Transformer (ViT) y MLP-Mixer de artículos de Google Research.
- Estrellas
- 12,770
- Forks
- 1,478
- Issues abiertos
- 137
- Último commit
- el mes pasado
¿Qué es?
Este repositorio publica el código y los checkpoints preentrenados de Vision Transformer (ViT) y MLP-Mixer, dos arquitecturas de reconocimiento de imágenes que las procesan como secuencias de parches de tamaño fijo o como redes compuestas exclusivamente por capas MLP. El repositorio acompaña varios artículos de Google Research, entre ellos el artículo original de ViT, MLP-Mixer, el estudio AugReg sobre el entrenamiento de ViT y trabajos posteriores sobre modelos LiT de imagen-texto con capacidad zero-shot y entrenamiento con sensibilidad a la nitidez.
Los modelos se preentrenan con ImageNet e ImageNet-21k, y el código incluye scripts de ajuste fino en JAX y Flax para conjuntos de datos como CIFAR-10/100 y cualquier conjunto disponible a través de TensorFlow Datasets. Muchos checkpoints están alojados en buckets de Google Cloud Storage, incluidos más de 50k modelos ViT e híbridos con distintas configuraciones de aumento de datos y regularización. Los notebooks de Colab abarcan la exploración de modelos, el ajuste fino y la inferencia con LiT; además, la biblioteca timm de PyTorch puede cargar varios de los checkpoints.
El proyecto no es un producto oficial de Google, y su autor señala que el código de entrenamiento más avanzado, como el entrenamiento multi-host, se encuentra en el repositorio independiente big_vision.
Funciones clave
- 01Implementa modelos ViT y MLP-Mixer en JAX y Flax.
- 02Proporciona checkpoints preentrenados con ImageNet e ImageNet-21k.
- 03Incluye una interfaz de línea de comandos para ajustar modelos a conjuntos de datos personalizados mediante TensorFlow Datasets.
- 04Ofrece más de 50k checkpoints ViT e híbridos con distintas configuraciones de aumento de datos.
- 05Incluye notebooks de Colab para explorar modelos, ajustar modelos e inferir con LiT.
Casos de uso
- Ajustar un modelo ViT o Mixer preentrenado a un conjunto de datos personalizado de clasificación de imágenes.
- Comparar las arquitecturas ViT y MLP-Mixer y sus métodos de entrenamiento en investigación.
- Ejecutar inferencia zero-shot de imagen-texto con los modelos LiT publicados.
Inicio rápido
- 1
Asegúrate de tener instalado Python 3.10 o una versión posterior
- 2
Instala JAX y las dependencias para GPU
pip install -r vit_jax/requirements.txt - 3
Ajusta un modelo ViT-B/16 (preentrenado con ImageNet-21k) en CIFAR-10
python -m vit_jax.main --workdir=/tmp/vit-$(date +%s) --config=$(pwd)/vit_jax/configs/vit.py:b16,cifar10 --config.pretrained_dir='gs://vit_models/imagenet21k'
Antes de usarlo
- El ajuste requiere una GPU o TPU y, según el README, utiliza todos los aceleradores disponibles.
- La configuración de TPU en Colab es lenta, por lo que se recomienda una máquina dedicada para conjuntos de datos más grandes.
- Para instalar JAX y Flaxformer, hay que seguir las instrucciones específicas de sus respectivos repositorios.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es vision_transformer?
- Código JAX/Flax y checkpoints preentrenados para modelos de clasificación de imágenes Vision Transformer (ViT) y MLP-Mixer de artículos de Google Research. Este repositorio publica el código y los checkpoints preentrenados de Vision Transformer (ViT) y MLP-Mixer, dos arquitecturas de reconocimiento de imágenes que las procesan como secuencias de parches de tamaño fijo o como redes compuestas exclusivamente por capas MLP. El repositorio acompaña varios artículos de Google Research, entre ellos el artículo original de ViT, MLP-Mixer, el estudio AugReg sobre el entrenamiento de ViT y trabajos posteriores sobre modelos LiT de imagen-texto con capacidad zero-shot y entrenamiento con sensibilidad a la nitidez.
- ¿vision_transformer es gratuito? ¿Qué licencia tiene?
- vision_transformer es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿vision_transformer sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de vision_transformer fue el 1 oct 2026.
- ¿Para qué puedo usar vision_transformer?
- Ajustar un modelo ViT o Mixer preentrenado a un conjunto de datos personalizado de clasificación de imágenes. Comparar las arquitecturas ViT y MLP-Mixer y sus métodos de entrenamiento en investigación. Ejecutar inferencia zero-shot de imagen-texto con los modelos LiT publicados.
- ¿Cómo se instala vision_transformer?
- Asegúrate de tener instalado Python 3.10 o una versión posterior Instala JAX y las dependencias para GPU: pip install -r vit_jax/requirements.txt Ajusta un modelo ViT-B/16 (preentrenado con ImageNet-21k) en CIFAR-10: python -m vit_jax.main --workdir=/tmp/vit-$(date +%s) --config=$(pwd)/vit_jax/configs/vit.py:b16,cifar10 --config.pretrained_dir='gs://vit_models/imagenet21k'
- ¿Dónde consigo vision_transformer?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/google-research/vision_transformer
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Implementación en PyTorch del Vision Transformer (ViT) y muchas de sus variantes para clasificación de imágenes y otras tareas de visión.
Biblioteca de modelos preentrenados para Keras 3, con modelos de texto, imagen y audio compatibles con JAX, TensorFlow y PyTorch.
Utilidades de checkpointing y persistencia para guardar y restaurar el estado de modelos JAX, como los pesos y el estado del optimizador.
Una biblioteca modular y escalable para entrenar modelos de machine learning con JAX/Flax, diseñada para iterar rápidamente en investigación.
Ultralytics YOLO es una biblioteca de Python para visión artificial que abarca detección, segmentación, clasificación, estimación de pose, seguimiento y más.