Repolode
lucidrains

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. 1

    Установите пакет из PyPI

    pip install vector-quantize-pytorch
  2. 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 обновляется ежедневно.

Похожие проекты

Учебная программа Microsoft по ИИ для начинающих: 12 недель и 24 урока о символическом ИИ, нейросетях, компьютерном зрении, NLP и этике, с ноутбуками на PyTorch и TensorFlow.

70,1 тыс.13,6 тыс.Jupyter NotebookMITОбновлён 23 часа назад