Buckets:
| # DiT | |
| [Масштабируемые диффузионные модели на основе трансформеров](https://huggingface.co/papers/2212.09748) (DiT) — работа Уильяма Пиблса и Сэйнинга Ши. | |
| Аннотация из статьи: | |
| *Мы исследуем новый класс диффузионных моделей, основанных на архитектуре трансформера. Мы обучаем латентные диффузионные модели изображений, заменяя обычно используемый U-Net-бэкбон трансформером, работающим с латентными патчами. Мы анализируем масштабируемость наших Diffusion Transformers (DiTs) с точки зрения сложности прямого прохода, измеряемой в Gflops. Мы обнаруживаем, что DiTs с более высоким значением Gflops — за счёт увеличения глубины/ширины трансформера или увеличения количества входных токенов — последовательно демонстрируют более низкий FID. Помимо хороших свойств масштабируемости, наши самые большие модели DiT-XL/2 превосходят все предыдущие диффузионные модели на бенчмарках ImageNet 512x512 и 256x256 с классовым условием, достигая передового значения FID 2.27 на последнем из них.* | |
| Исходный код можно найти в [facebookresearch/dit](https://github.com/facebookresearch/dit). | |
| > [!TIP] | |
| > Обязательно ознакомьтесь с [руководством по планировщикам](../../using-diffusers/schedulers), чтобы узнать, как исследовать баланс между скоростью и качеством планировщика, а также с разделом [повторное использование компонентов в разных конвейерах](../../using-diffusers/loading#reusing-models-in-multiple-pipelines), чтобы узнать, как эффективно загружать одни и те же компоненты в несколько конвейеров. | |
| ## DiTPipeline[[diffusers.DiTPipeline]] | |
| #### diffusers.DiTPipeline[[diffusers.DiTPipeline]] | |
| ```python | |
| diffusers.DiTPipeline(transformer: DiTTransformer2DModel, vae: AutoencoderKL, scheduler: KarrasDiffusionSchedulers, id2label: dict[int, str] | None = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dit/pipeline_dit.py#L38) | |
| **Параметры:** | |
| transformer ([DiTTransformer2DModel](/docs/diffusers/main/ru/api/models/dit_transformer2d#diffusers.DiTTransformer2DModel)) : класс, использующий `DiTTransformer2DModel` для удаления шума из закодированных латентов изображения. Изначально в конфигурации публиковался как [`Transformer2DModel`](https://huggingface.co/facebook/DiT-XL-2-256/blob/main/transformer/config.json#L2), но это несоответствие можно игнорировать. | |
| vae ([AutoencoderKL](/docs/diffusers/main/ru/api/models/autoencoderkl#diffusers.AutoencoderKL)) : Модель вариационного автоэнкодера (VAE) для кодирования изображений в латентные представления и декодирования из них. | |
| scheduler ([DDIMScheduler](/docs/diffusers/main/ru/api/schedulers/ddim#diffusers.DDIMScheduler)) : планировщик, используемый в связке с `transformer` для удаления шума из закодированных латентов изображения. | |
| Pipeline для генерации изображений на основе Transformer-архитектуры вместо UNet. | |
| Эта модель наследуется от [DiffusionPipeline](/docs/diffusers/main/ru/api/pipelines/overview#diffusers.DiffusionPipeline). Общую документацию по методам, реализованным для всех пайплайнов (загрузка, сохранение, запуск на конкретном устройстве и т. д.), см. в документации родительского класса. | |
| #### __call__[[diffusers.DiTPipeline.__call__]] | |
| ```python | |
| __call__(class_labels: list[int], guidance_scale: float = 4.0, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, num_inference_steps: int = 50, output_type: str | None = 'pil', return_dict: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dit/pipeline_dit.py#L101) | |
| **Параметры:** | |
| class_labels (list[int]) : список меток классов ImageNet для изображений, которые будут сгенерированы. | |
| guidance_scale (`float`, *optional*, по умолчанию 4.0) : Более высокое значение guidance scale побуждает модель генерировать изображения, тесно связанные с текстовым `prompt`, за счёт снижения качества изображения. Guidance scale активируется, когда `guidance_scale > 1`. | |
| generator (`torch.Generator`, *необязательный*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) для обеспечения детерминированности генерации. | |
| num_inference_steps (`int`, *optional*, по умолчанию 250) : Количество шагов денойзинга. Как правило, большее количество шагов денойзинга приводит к изображению более высокого качества, но за счёт более медленного вывода. | |
| 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 DiTPipeline, DPMSolverMultistepScheduler | |
| >>> import torch | |
| >>> pipe = DiTPipeline.from_pretrained("facebook/DiT-XL-2-256", torch_dtype=torch.float16) | |
| >>> pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config) | |
| >>> pipe = pipe.to("cuda") | |
| >>> # pick words from Imagenet class labels | |
| >>> pipe.labels # to print all available words | |
| >>> # pick words that exist in ImageNet | |
| >>> words = ["white shark", "umbrella"] | |
| >>> class_ids = pipe.get_label_ids(words) | |
| >>> generator = torch.manual_seed(33) | |
| >>> output = pipe(class_labels=class_ids, num_inference_steps=25, generator=generator) | |
| >>> image = output.images[0] # label 'white shark' | |
| ``` | |
| #### get_label_ids[[diffusers.DiTPipeline.get_label_ids]] | |
| ```python | |
| get_label_ids(label: str | list[str]) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dit/pipeline_dit.py#L76) | |
| **Параметры:** | |
| label (`str` или `dict` из `str`) : Строки меток, которые будут сопоставлены с идентификаторами классов. | |
| **Возвращает:** `list` из `int` | |
| Идентификаторы классов, которые будут обработаны конвейером. | |
| Соответствие строк меток ImageNet идентификаторам классов. | |
| ## 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:
- 9.51 kB
- Xet hash:
- 5ca987731946d7c635f34dc6d7de4dd5f418eaa732e5fcea2073848ecd35b4dd
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.