Реализация Vision Transformer (ViT) на PyTorch и множества его вариантов для классификации изображений и других задач компьютерного зрения.
lucidrains/vector-quantize-pytorch
Библиотека PyTorch с векторной, остаточной, скалярной и не использующей таблицу поиска квантизацией для обучения моделей с дискретными латентными представлениями, например VQ-VAE.
- Звёзды
- 4,019
- Форки
- 342
- Открытые issues
- 74
- Последний коммит
- 29 дней назад
Что это?
vector-quantize-pytorch — пакет Python с готовыми слоями квантования для PyTorch. Векторное квантование сопоставляет непрерывные признаки нейросети обучаемому набору дискретных кодов. Этот метод используют, например, модели VQ-VAE для генерации изображений, аудио и видео. Библиотека объединяет такие слои в готовые компоненты, которые можно добавить в модель всего несколькими строками кода, вместо того чтобы реализовывать их по научным статьям.
Основной класс VectorQuantize обновляет кодовую книгу с помощью экспоненциального скользящего среднего и возвращает квантованные выходы, индексы кодов и функцию потерь на привязку. В библиотеке также есть ResidualVQ и GroupedResidualVQ для последовательного применения квантователей, а ещё такие параметры, как инициализация кодовой книги методом k-means, расстояние на основе косинусного сходства, удаление неиспользуемых кодов и методы передачи градиента rotation trick или DiVeQ. В библиотеку входят и альтернативные схемы: SimVQ, Finite Scalar Quantization (FSQ), Lookup-Free Quantization (LFQ), Latent Quantization и квантователь со случайной проекцией для обучения речи без учителя.
У каждого квантователя есть методы для преобразования индексов обратно в коды — это удобно при декодировании сгенерированных токенов. Пакет можно установить через pip; он распространяется по лицензии MIT.
Ключевые возможности
- 01Слой векторного квантования с обновлением кодовой книги через EMA и функцией потерь на привязку.
- 02Остаточные и групповые остаточные квантователи, последовательно применяющие несколько кодовых книг.
- 03Параметры для инициализации методом k-means, расстояния на основе косинусного сходства и удаления неиспользуемых кодов.
- 04Методы передачи градиента, включая оцениватель straight-through, rotation trick и DiVeQ.
- 05Альтернативы скалярного типа: FSQ, LFQ, Latent Quantization и SimVQ.
Сценарии использования
- Обучение токенизатора изображений или аудио в стиле VQ-VAE или VQ-GAN с помощью PyTorch.
- Построение остаточного квантования для нейронных аудиокодеков.
- Исследование способов борьбы с коллапсом кодовой книги в задачах с дискретными представлениями.
- Создание квантователя со случайной проекцией для предварительного обучения речевых моделей с маскированием.
Быстрый старт
- 1
Установите пакет из PyPI
pip install vector-quantize-pytorch - 2
Импортируйте VectorQuantize и примените его к случайному тензору
Что важно знать
- Предоставляются только VQ-слои; окружающую их модель необходимо самостоятельно создать и обучить.
- Требуется PyTorch, а примеры в README предполагают, что PyTorch установлен и работает корректно.
Темы
Частые вопросы
- Что такое vector-quantize-pytorch?
- Библиотека PyTorch с векторной, остаточной, скалярной и не использующей таблицу поиска квантизацией для обучения моделей с дискретными латентными представлениями, например VQ-VAE. vector-quantize-pytorch — пакет Python с готовыми слоями квантования для PyTorch. Векторное квантование сопоставляет непрерывные признаки нейросети обучаемому набору дискретных кодов. Этот метод используют, например, модели VQ-VAE для генерации изображений, аудио и видео. Библиотека объединяет такие слои в готовые компоненты, которые можно добавить в модель всего несколькими строками кода, вместо того чтобы реализовывать их по научным статьям.
- vector-quantize-pytorch можно использовать бесплатно? Какая у него лицензия?
- vector-quantize-pytorch распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- vector-quantize-pytorch всё ещё поддерживается?
- Активно поддерживается. Последний коммит в vector-quantize-pytorch — 24 сент. 2026 г..
- Для чего можно использовать vector-quantize-pytorch?
- Обучение токенизатора изображений или аудио в стиле VQ-VAE или VQ-GAN с помощью PyTorch. Построение остаточного квантования для нейронных аудиокодеков. Исследование способов борьбы с коллапсом кодовой книги в задачах с дискретными представлениями. Создание квантователя со случайной проекцией для предварительного обучения речевых моделей с маскированием.
- Как установить vector-quantize-pytorch?
- Установите пакет из PyPI: pip install vector-quantize-pytorch Импортируйте VectorQuantize и примените его к случайному тензору
- Где скачать vector-quantize-pytorch?
- Исходный код и инструкции по установке — на GitHub: https://github.com/lucidrains/vector-quantize-pytorch
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Высокопроизводительный фреймворк на C++ для инференса моделей глубокого обучения на мобильных, встраиваемых и настольных устройствах.
Набор инструментов на базе PyTorch с реализациями 20+ open-weight моделей LLM с нуля для предварительного обучения, дообучения, оценки и запуска.
Реализация Denoising Diffusion Probabilistic Models на PyTorch для обучения генеративных моделей изображений и одномерных последовательностей.
Код к книге Build a Large Language Model (From Scratch): пошаговая реализация LLM, похожей на GPT, на PyTorch.
Учебная программа Microsoft по ИИ для начинающих: 12 недель и 24 урока о символическом ИИ, нейросетях, компьютерном зрении, NLP и этике, с ноутбуками на PyTorch и TensorFlow.