Библиотека PyTorch с предобученными диффузионными моделями, планировщиками шума и компонентами для генерации изображений, видео и аудио.
lucidrains/denoising-diffusion-pytorch
Реализация Denoising Diffusion Probabilistic Models на PyTorch для обучения генеративных моделей изображений и одномерных последовательностей.
- Звёзды
- 10,710
- Форки
- 1,283
- Открытые issues
- 169
- Последний коммит
- 23 дня назад
Что это?
Проект представляет собой реализацию Denoising Diffusion Probabilistic Models на PyTorch — подхода к генеративному моделированию, который учится обращать постепенный процесс зашумления. В основе лежит U-Net, а класс GaussianDiffusion отвечает за прямое зашумление, функцию потерь при обучении и генерацию с помощью обученной модели.
Помимо основного конвейера для изображений, в проект входит класс Trainer: он принимает папку с изображениями и выполняет загрузку данных, обучающие циклы, периодическое сохранение примеров, создание чекпойнтов и, по желанию, расчёт FID. Также поддерживаются Hugging Face Accelerate для обучения на нескольких GPU, смешанная точность через amp и ускоренная генерация в стиле DDIM с меньшим числом шагов. Для последовательностей предусмотрены одномерные варианты U-Net и diffusion, а XMWrapper добавляет расчёт функции потерь по нескольким кандидатам.
Библиотеку можно установить из PyPI. Она предназначена для исследователей и разработчиков, которым нужна понятная и удобная для модификации реализация для экспериментов с diffusion-моделями.
Ключевые возможности
- 01Реализует целевую функцию обучения DDPM и процедуру генерации на PyTorch.
- 02Предоставляет настраиваемую основу U-Net с опциональной flash attention.
- 03Класс Trainer обрабатывает наборы изображений из папки, чекпойнты и сохранение примеров.
- 04Поддерживает обучение на нескольких GPU через Hugging Face Accelerate и смешанную точность.
- 05Включает генерацию в стиле DDIM с меньшим числом шагов и оценку FID во время обучения.
- 06Предлагает одномерные варианты U-Net и diffusion для последовательностей.
Сценарии использования
- Обучение небольшой модели генерации изображений на собственном наборе файлов.
- Изучение или модификация основного кода обучения diffusion-моделей и генерации.
- Создание прототипов diffusion-моделей для одномерных последовательностей.
- Запуск экспериментов по обучению diffusion-моделей на нескольких GPU с Accelerate.
Быстрый старт
- 1
Установите пакет из PyPI
pip install denoising_diffusion_pytorch - 2
Создайте модель и объект диффузии, затем обучите модель на изображениях из папки с помощью класса Trainer
- 3
Начните обучение
trainer.train()
Что важно знать
- Для обучения на изображениях реалистичного размера требуются GPU и много времени (в примере используется 700000 шагов).
Темы
Частые вопросы
- Что такое denoising-diffusion-pytorch?
- Реализация Denoising Diffusion Probabilistic Models на PyTorch для обучения генеративных моделей изображений и одномерных последовательностей. Проект представляет собой реализацию Denoising Diffusion Probabilistic Models на PyTorch — подхода к генеративному моделированию, который учится обращать постепенный процесс зашумления. В основе лежит U-Net, а класс GaussianDiffusion отвечает за прямое зашумление, функцию потерь при обучении и генерацию с помощью обученной модели.
- denoising-diffusion-pytorch можно использовать бесплатно? Какая у него лицензия?
- denoising-diffusion-pytorch распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- denoising-diffusion-pytorch всё ещё поддерживается?
- Активно поддерживается. Последний коммит в denoising-diffusion-pytorch — 29 сент. 2026 г..
- Для чего можно использовать denoising-diffusion-pytorch?
- Обучение небольшой модели генерации изображений на собственном наборе файлов. Изучение или модификация основного кода обучения diffusion-моделей и генерации. Создание прототипов diffusion-моделей для одномерных последовательностей. Запуск экспериментов по обучению diffusion-моделей на нескольких GPU с Accelerate.
- Как установить denoising-diffusion-pytorch?
- Установите пакет из PyPI: pip install denoising_diffusion_pytorch Создайте модель и объект диффузии, затем обучите модель на изображениях из папки с помощью класса Trainer Начните обучение: trainer.train()
- Где скачать denoising-diffusion-pytorch?
- Исходный код и инструкции по установке — на GitHub: https://github.com/lucidrains/denoising-diffusion-pytorch
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
GUI с узловым графом, API и бэкенд для локального запуска диффузионных моделей и генерации изображений, видео, аудио и 3D-контента.
Движок с открытым исходным кодом для генерации изображений, видео и аудио с помощью Diffusion-моделей; поддерживает инференс и обучение при небольшом объёме VRAM.
Открытая диффузионная модель для генерации изображений по тексту с 5 млрд параметров, точной отрисовкой текста, управлением компоновкой через JSON и возможностью дообучения.
Реализация Vision Transformer (ViT) на PyTorch и множества его вариантов для классификации изображений и других задач компьютерного зрения.
Высокопроизводительный фреймворк на C++ для инференса моделей глубокого обучения на мобильных, встраиваемых и настольных устройствах.