Buckets:
| # DDPM | |
| [Denoising Diffusion Probabilistic Models](https://huggingface.co/papers/2006.11239) (DDPM) авторов Джонатана Хо, Аджая Джейна и Питера Аббеля предлагает модель на основе диффузии с тем же названием. В библиотеке 🤗 Diffusers DDPM обозначает *дискретный планировщик денойзинга* из статьи, а также соответствующий пайплайн. | |
| Аннотация из статьи: | |
| *Мы представляем результаты синтеза изображений высокого качества с использованием диффузионных вероятностных моделей — класса латентных переменных, вдохновлённого соображениями из неравновесной термодинамики. Наши лучшие результаты получены путём обучения на взвешенной вариационной границе, спроектированной на основе новой связи между диффузионными вероятностными моделями и сопоставлением скоростей сглаживания шума с динамикой Ланжевена. Наши модели естественным образом допускают схему прогрессивного сжимающего декодирования с потерями, которую можно интерпретировать как обобщение авторегрессионного декодирования. На безусловном наборе данных CIFAR10 мы получаем Inception score 9,46 и FID score 3,17, являющийся лучшим на данный момент. На LSUN 256x256 мы получаем качество образцов, сопоставимое с ProgressiveGAN.* | |
| Исходный код можно найти в репозитории [hohonathanho/diffusion](https://github.com/hojonathanho/diffusion). | |
| > [!TIP] | |
| > Обязательно ознакомьтесь с [руководством по планировщикам](../../using-diffusers/schedulers), чтобы узнать, как исследовать баланс между скоростью и качеством планировщика, а также с разделом [повторное использование компонентов в разных конвейерах](../../using-diffusers/loading#reusing-models-in-multiple-pipelines), чтобы узнать, как эффективно загружать одни и те же компоненты в несколько конвейеров. | |
| # DDPMPipeline[[diffusers.DDPMPipeline]] | |
| #### diffusers.DDPMPipeline[[diffusers.DDPMPipeline]] | |
| ```python | |
| diffusers.DDPMPipeline(unet: UNet2DModel, scheduler: DDPMScheduler) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/ddpm/pipeline_ddpm.py#L33) | |
| **Параметры:** | |
| unet ([UNet2DModel](/docs/diffusers/main/ru/api/models/unet2d#diffusers.UNet2DModel)) : `UNet2DModel` для удаления шума из закодированных латентов изображения. | |
| scheduler ([SchedulerMixin](/docs/diffusers/main/ru/api/schedulers/overview#diffusers.SchedulerMixin)) : планировщик, используемый в сочетании с `unet` для удаления шума из закодированного изображения. Может быть одним из [DDPMScheduler](/docs/diffusers/main/ru/api/schedulers/ddpm#diffusers.DDPMScheduler) или [DDIMScheduler](/docs/diffusers/main/ru/api/schedulers/ddim#diffusers.DDIMScheduler). | |
| Пайплайн для генерации изображений. | |
| Эта модель наследуется от [DiffusionPipeline](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline). Общую документацию по методам, реализованным для всех пайплайнов (загрузка, сохранение, запуск на конкретном устройстве и т. д.), см. в документации родительского класса. | |
| #### __call__[[diffusers.DDPMPipeline.__call__]] | |
| ```python | |
| __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) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/ddpm/pipeline_ddpm.py#L54) | |
| **Параметры:** | |
| batch_size (`int`, *необязательный*, по умолчанию 1) : Количество изображений для генерации. | |
| generator (`torch.Generator`, *необязательный*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) для обеспечения детерминированности генерации. | |
| num_inference_steps (`int`, *optional*, по умолчанию 1000) : Количество шагов денойзинга. Как правило, большее число шагов денойзинга приводит к изображению более высокого качества, но за счёт более медленного вывода. | |
| output_type (`str`, *необязательный*, по умолчанию `"pil"`) : Формат вывода сгенерированного изображения. Выберите один из вариантов: `"pil"` (`PIL.Image`), `"np"` (`np.array`) или `"pt"` (`torch.Tensor`). | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли [ImagePipelineOutput](/docs/diffusers/main/ru/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) вместо обычного кортежа. | |
| **Возвращает:** [ImagePipelineOutput](/docs/diffusers/main/ru/api/pipelines/consistency_models#diffusers.ImagePipelineOutput) или `tuple` | |
| Если `return_dict` равно `True`, возвращается [ImagePipelineOutput](/docs/diffusers/main/ru/api/pipelines/consistency_models#diffusers.ImagePipelineOutput), иначе возвращается `tuple`, где первый элемент — это список с сгенерированными изображениями | |
| Функция вызова конвейера для генерации. | |
| Пример: | |
| ```py | |
| >>> 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]] | |
| ```python | |
| diffusers.ImagePipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/pipeline_utils.py#L135) | |
| **Параметры:** | |
| 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.