Библиотека PyTorch с архитектурами моделей для обработки изображений, предобученными весами и скриптами обучения, валидации и экспорта для задач компьютерного зрения.
google-research/vision_transformer
Код на JAX/Flax и предобученные чекпойнты моделей Vision Transformer (ViT) и MLP-Mixer для классификации изображений из статей Google Research.
- Звёзды
- 12,770
- Форки
- 1,478
- Открытые issues
- 137
- Последний коммит
- в прошлом месяце
Что это?
В репозитории опубликованы код и предобученные чекпойнты Vision Transformer (ViT) и MLP-Mixer — двух архитектур для распознавания изображений, которые обрабатывают изображения как последовательности патчей фиксированного размера или как сети, состоящие только из MLP. Репозиторий сопровождает несколько статей Google Research, включая оригинальную статью о ViT, работу MLP-Mixer, исследование AugReg по обучению ViT, а также более поздние работы о LiT — моделях для zero-shot сопоставления изображений и текста — и обучении с учётом резкости.
Модели предобучены на ImageNet и ImageNet-21k, а код включает скрипты для дообучения на JAX и Flax на таких наборах данных, как CIFAR-10/100, и на любых наборах, доступных через TensorFlow Datasets. Многие чекпойнты размещены в бакетах Google Cloud Storage; среди них — более 50 тысяч вариантов ViT и гибридных моделей с разными настройками аугментации и регуляризации. В Colab-ноутбуках рассматриваются модели, их дообучение и инференс LiT; несколько чекпойнтов также можно загрузить с помощью библиотеки timm для PyTorch.
Проект не является официальным продуктом Google. По словам автора, более продвинутый код для обучения, например для обучения на нескольких хостах, находится в отдельном репозитории big_vision.
Ключевые возможности
- 01Реализует модели ViT и MLP-Mixer на JAX и Flax.
- 02Предоставляет предобученные чекпойнты для ImageNet и ImageNet-21k.
- 03Включает CLI для дообучения на пользовательских наборах данных через TensorFlow Datasets.
- 04Предлагает более 50 тысяч чекпойнтов ViT и гибридных моделей с различными настройками аугментации.
- 05Включает Colab-ноутбуки для знакомства с моделями, дообучения и инференса LiT.
Сценарии использования
- Дообучение предобученной модели ViT или Mixer на пользовательском наборе данных для классификации изображений.
- Сравнение архитектур ViT и MLP-Mixer, а также рецептов их обучения в исследовательских целях.
- Запуск zero-shot-инференса для изображений и текста с выпущенными моделями LiT.
Быстрый старт
- 1
Убедитесь, что установлена Python версии 3.10 или новее
- 2
Установите JAX и зависимости для GPU
pip install -r vit_jax/requirements.txt - 3
Дообучите модель ViT-B/16 (предварительно обученную на ImageNet-21k) на 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'
Что важно знать
- Для дообучения требуется GPU или TPU; согласно README, используются все доступные ускорители.
- Настройка TPU в Colab занимает много времени, поэтому для больших наборов данных рекомендуется выделенная машина.
- Для установки JAX и Flaxformer необходимо следовать отдельным инструкциям в их репозиториях.
В подборках
Темы
Частые вопросы
- Что такое vision_transformer?
- Код на JAX/Flax и предобученные чекпойнты моделей Vision Transformer (ViT) и MLP-Mixer для классификации изображений из статей Google Research. В репозитории опубликованы код и предобученные чекпойнты Vision Transformer (ViT) и MLP-Mixer — двух архитектур для распознавания изображений, которые обрабатывают изображения как последовательности патчей фиксированного размера или как сети, состоящие только из MLP. Репозиторий сопровождает несколько статей Google Research, включая оригинальную статью о ViT, работу MLP-Mixer, исследование AugReg по обучению ViT, а также более поздние работы о LiT — моделях для zero-shot сопоставления изображений и текста — и обучении с учётом резкости.
- vision_transformer можно использовать бесплатно? Какая у него лицензия?
- vision_transformer распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- vision_transformer всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в vision_transformer — 1 окт. 2026 г..
- Для чего можно использовать vision_transformer?
- Дообучение предобученной модели ViT или Mixer на пользовательском наборе данных для классификации изображений. Сравнение архитектур ViT и MLP-Mixer, а также рецептов их обучения в исследовательских целях. Запуск zero-shot-инференса для изображений и текста с выпущенными моделями LiT.
- Как установить vision_transformer?
- Убедитесь, что установлена Python версии 3.10 или новее Установите JAX и зависимости для GPU: pip install -r vit_jax/requirements.txt Дообучите модель ViT-B/16 (предварительно обученную на ImageNet-21k) на 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'
- Где скачать vision_transformer?
- Исходный код и инструкции по установке — на GitHub: https://github.com/google-research/vision_transformer
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Реализация Vision Transformer (ViT) на PyTorch и множества его вариантов для классификации изображений и других задач компьютерного зрения.
Библиотека предобученных моделей для Keras 3: модели для текста, изображений и аудио, работающие с JAX, TensorFlow или PyTorch.
Утилиты для сохранения и восстановления состояния моделей JAX, например весов и состояния оптимизатора.
Модульная масштабируемая библиотека для обучения моделей машинного обучения на JAX/Flax, созданная для быстрых исследовательских итераций.
Ultralytics YOLO — библиотека Python для компьютерного зрения: обнаружение объектов, сегментация, классификация, оценка позы, трекинг и другие задачи.