Buckets:
DDPM
Denoising Diffusion Probabilistic Models (DDPM) авторов Джонатана Хо, Аджая Джейна и Питера Аббеля предлагает модель на основе диффузии с тем же названием. В библиотеке 🤗 Diffusers DDPM обозначает дискретный планировщик денойзинга из статьи, а также соответствующий пайплайн.
Аннотация из статьи:
Мы представляем результаты синтеза изображений высокого качества с использованием диффузионных вероятностных моделей — класса латентных переменных, вдохновлённого соображениями из неравновесной термодинамики. Наши лучшие результаты получены путём обучения на взвешенной вариационной границе, спроектированной на основе новой связи между диффузионными вероятностными моделями и сопоставлением скоростей сглаживания шума с динамикой Ланжевена. Наши модели естественным образом допускают схему прогрессивного сжимающего декодирования с потерями, которую можно интерпретировать как обобщение авторегрессионного декодирования. На безусловном наборе данных CIFAR10 мы получаем Inception score 9,46 и FID score 3,17, являющийся лучшим на данный момент. На LSUN 256x256 мы получаем качество образцов, сопоставимое с ProgressiveGAN.
Исходный код можно найти в репозитории hohonathanho/diffusion.
Обязательно ознакомьтесь с руководством по планировщикам, чтобы узнать, как исследовать баланс между скоростью и качеством планировщика, а также с разделом повторное использование компонентов в разных конвейерах, чтобы узнать, как эффективно загружать одни и те же компоненты в несколько конвейеров.
DDPMPipeline[[diffusers.DDPMPipeline]]
diffusers.DDPMPipeline[[diffusers.DDPMPipeline]]
diffusers.DDPMPipeline(unet: UNet2DModel, scheduler: DDPMScheduler)
Параметры:
unet (UNet2DModel) : UNet2DModel для удаления шума из закодированных латентов изображения.
scheduler (SchedulerMixin) : планировщик, используемый в сочетании с unet для удаления шума из закодированного изображения. Может быть одним из DDPMScheduler или DDIMScheduler.
Пайплайн для генерации изображений.
Эта модель наследуется от DiffusionPipeline. Общую документацию по методам, реализованным для всех пайплайнов (загрузка, сохранение, запуск на конкретном устройстве и т. д.), см. в документации родительского класса.
call[[diffusers.DDPMPipeline.call]]
__call__(batch_size: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, num_inference_steps: int = 1000, output_type: str | None = 'pil', return_dict: bool = True)
Параметры:
batch_size (int, необязательный, по умолчанию 1) : Количество изображений для генерации.
generator (torch.Generator, необязательный) : torch.Generator для обеспечения детерминированности генерации.
num_inference_steps (int, optional, по умолчанию 1000) : Количество шагов денойзинга. Как правило, большее число шагов денойзинга приводит к изображению более высокого качества, но за счёт более медленного вывода.
output_type (str, необязательный, по умолчанию "pil") : Формат вывода сгенерированного изображения. Выберите один из вариантов: "pil" (PIL.Image), "np" (np.array) или "pt" (torch.Tensor).
return_dict (bool, необязательный, по умолчанию True) : Возвращать ли ImagePipelineOutput вместо обычного кортежа.
Возвращает: ImagePipelineOutput или tuple
Если return_dict равно True, возвращается ImagePipelineOutput, иначе возвращается tuple, где первый элемент — это список с сгенерированными изображениями
Функция вызова конвейера для генерации.
Пример:
>>> from diffusers import DDPMPipeline
>>> # load model and scheduler
>>> pipe = DDPMPipeline.from_pretrained("google/ddpm-cat-256")
>>> # run pipeline in inference (sample random noise and denoise)
>>> image = pipe().images[0]
>>> # save image
>>> image.save("ddpm_generated_image.png")
ImagePipelineOutput[[diffusers.ImagePipelineOutput]]
diffusers.ImagePipelineOutput[[diffusers.ImagePipelineOutput]]
diffusers.ImagePipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray)
Параметры:
images (List[PIL.Image.Image] или np.ndarray) : Список денойзированных изображений PIL длиной batch_size или массив NumPy формы (batch_size, height, width, num_channels).
Класс вывода для пайплайнов обработки изображений.
Xet Storage Details
- Size:
- 7.73 kB
- Xet hash:
- 00228c1a54f0e6470519bf99329d24cc4198813291b1aa63cc44ddd9154d36fa
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.