lucidrains/denoising-diffusion-pytorch

Реализация модели вероятностной диффузии с шумоподавлением на Pytorch

Vision⭐ 10 694Pythonпоследний релиз: 2.2.6
Открыть на GitHub ↗

Что это за инструмент

Библиотека на PyTorch для реализации Denoising Diffusion Probabilistic Model (DDPM), генеративной модели, способной конкурировать с GAN.

Зачем нужен

Позволяет обучать модели диффузии для генерации изображений и 1D-последовательностей, используя методы denoising score matching и Langevin sampling. Полезен для исследователей и разработчиков, ищущих надежную и простую в использовании альтернативу GAN с поддержкой ускоренного инференса.

Что можно реализовать

  • Генерация изображений заданного размера (например, 128x128) с использованием готового класса Trainer.
  • Быстрый инференс (сэмплинг) с уменьшением числа шагов (sampling_timesteps) через поддержку DDIM.
  • Обучение моделей на мульти-GPU конфигурациях с помощью интеграции Hugging Face Accelerator.
  • Генерация 1D-последовательностей (например, временных рядов или текстовых эмбеддингов) с помощью специализированных классов Unet1D и GaussianDiffusion1D.
  • Исследование архитектуры Unet с поддержкой Flash Attention для оптимизации вычислений.

Ключевые возможности

  • Простая установка через pip и интуитивный API для быстрого старта.
  • Встроенный класс Trainer, автоматизирующий процесс обучения, логирование метрик (FID) и сохранение чекпоинтов.
  • Поддержка смешанной точности (AMP) для ускорения обучения и экономии памяти.
  • Готовая реализация для 1D-данных (Unet1D), расширяющая сферу применения за пределы компьютерного зрения.
  • Активная экосистема: наличие аналогов на Flax и аннотированного кода от Hugging Face.

👤 Кому подойдёт: Исследователи в области машинного обучения, разработчики, работающие с генеративными моделями, и инженеры, ищущие стабильную PyTorch-реализацию диффузионных моделей.

Релизы