Buckets:
| # DreamLite | |
| DreamLite — это модель генерации изображений по тексту и редактирования изображений от ByteDance. Она сочетает в себе собственный 2D U-Net (`DreamLiteUNetModel`) с мультимодальным энкодером `Qwen3-VL`, который используется как энкодер промптов и инструкций по изображению, а также применяет VAE `AutoencoderTiny` (в стиле TAESD) для быстрого кодирования и декодирования латентов. | |
| Доступны два конвейера: | |
| | Pipeline | Режимы | CFG | Сценарий использования | | |
| |---|---|---|---| | |
| | [DreamLitePipeline](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipeline) | text-to-image **и** редактирование изображений (выбирается автоматически в зависимости от того, является ли `image` значением `None`) | 3-ветвевой двойной CFG (`guidance_scale` для текстовой ветви, `image_guidance_scale` для изображений, по образцу InstructPix2Pix) | Наивысшее качество | | |
| | [DreamLiteMobilePipeline](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLiteMobilePipeline) | text-to-image **и** редактирование изображений (выбирается автоматически в зависимости от того, является ли `image` значением `None`) | None — дистиллированная, один прямой проход UNet на шаг | На устройстве / низкая задержка | | |
| Официальные контрольные точки: | |
| * Базовая модель: [carlofkl/DreamLite-base](https://huggingface.co/carlofkl/DreamLite-base) | |
| * Модель для мобильных устройств, полученная дистилляцией: [carlofkl/DreamLite-mobile](https://huggingface.co/carlofkl/DreamLite-mobile) | |
| > [!TIP] | |
| > Оба конвейера автоматически определяют режим «текст в изображение» или «редактирование изображения» на основании того, передан ли аргумент `image`. Отдельный класс `Img2Img` отсутствует. | |
| > [!TIP] | |
| > При загрузке входного изображения для редактирования предпочитайте `diffusers.utils.load_image(...)` вместо прямого вызова `PIL.Image.open(...)`. `load_image` принудительно выполняет преобразование в RGB и применяет ориентацию EXIF, что предполагает пайплайн. Простой вызов `Image.open` для источника в формате RGBA / палитры / с поворотом EXIF незаметно приведёт к другому латентному условию и ухудшит качество результата. | |
| ## Текст в изображение (Base) | |
| ```python | |
| import torch | |
| from diffusers import DreamLitePipeline | |
| pipe = DreamLitePipeline.from_pretrained("carlofkl/DreamLite-base", revision="diffusers", dtype=torch.bfloat16) | |
| pipe = pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| image = pipe( | |
| prompt="a dog running on the grass", | |
| negative_prompt="", | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=28, | |
| generator=torch.Generator("cpu").manual_seed(42), | |
| ).images[0] | |
| image.save("dreamlite_t2i.png") | |
| ``` | |
| ## Редактирование изображений (Base) | |
| Передайте `image`, чтобы перейти в режим редактирования. Здесь активны и `guidance_scale` (текстовая ветвь), и `image_guidance_scale` (изображение-ветвь). | |
| ```python | |
| import torch | |
| from diffusers import DreamLitePipeline | |
| from diffusers.utils import load_image | |
| pipe = DreamLitePipeline.from_pretrained("carlofkl/DreamLite-base", revision="diffusers", dtype=torch.bfloat16) | |
| pipe = pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| source = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png") | |
| image = pipe( | |
| prompt="turn the cat into a corgi", | |
| image=source, | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=28, | |
| generator=torch.Generator("cpu").manual_seed(42), | |
| ).images[0] | |
| image.save("dreamlite_edit.png") | |
| ``` | |
| ## Текст в изображение (мобильные устройства) | |
| Мобильный конвейер является дистиллированным и полностью пропускает CFG — один прямой проход UNet на каждый шаг. Он принимает те же аргументы `prompt` / `height` / `width` / `num_inference_steps`, но **игнорирует** `guidance_scale` и `image_guidance_scale`, если они переданы (в журнал выводится предупреждение). | |
| ```python | |
| import torch | |
| from diffusers import DreamLiteMobilePipeline | |
| pipe = DreamLiteMobilePipeline.from_pretrained("carlofkl/DreamLite-mobile", revision="diffusers", dtype=torch.bfloat16) | |
| pipe = pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| image = pipe( | |
| prompt="a dog running on the grass", | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=4, | |
| generator=torch.Generator("cpu").manual_seed(42), | |
| ).images[0] | |
| image.save("dreamlite_mobile_t2i.png") | |
| ``` | |
| ## Редактирование изображений (мобильные устройства) | |
| ```python | |
| import torch | |
| from diffusers import DreamLiteMobilePipeline | |
| from diffusers.utils import load_image | |
| pipe = DreamLiteMobilePipeline.from_pretrained("carlofkl/DreamLite-mobile", revision="diffusers", dtype=torch.bfloat16) | |
| pipe = pipe.to("cuda") # or "mps", "xpu", "cpu" | |
| source = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png") | |
| image = pipe( | |
| prompt="turn the cat into a corgi", | |
| image=source, | |
| height=1024, | |
| width=1024, | |
| num_inference_steps=4, | |
| generator=torch.Generator("cpu").manual_seed(42), | |
| ).images[0] | |
| image.save("dreamlite_mobile_edit.png") | |
| ``` | |
| ## Заметки и ограничения | |
| * Оба конвейера внутренне принудительно устанавливают `batch_size = 1`; параметр `num_images_per_prompt` управляет количеством выборок, генерируемых из одного и того же промпта, а не параллельным батчингом. | |
| * Промпт-энкодер — это `Qwen3-VL`, мультимодальная модель. Поэтому для загрузки полного пайплайна требуется достаточный объём памяти GPU как для U-Net, так и для текстового энкодера Qwen3-VL (~4 ГБ + ~0,7 ГБ в bf16 для базовой версии). | |
| * VAE — это `AutoencoderTiny`, и он предоставляет `encoder_block_out_channels`; `vae_scale_factor` вычисляется из него при инициализации пайплайна. | |
| ## DreamLitePipeline[[diffusers.DreamLitePipeline]] | |
| #### diffusers.DreamLitePipeline[[diffusers.DreamLitePipeline]] | |
| ```python | |
| diffusers.DreamLitePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L155) | |
| DreamLite pipeline для генерации изображений по тексту и редактирования изображений по инструкциям. | |
| Один и тот же конвейер поддерживает оба режима; режим работы определяется автоматически на основе входных данных: | |
| - `image is None` -> генерация изображения по тексту (один CFG по тексту). | |
| - `image is not None` -> image-to-image / редактирование по инструкции (двойной CFG: текст + изображение). | |
| Компоненты: text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): мультимодальный текстово-визуальный энкодер, используемый для создания эмбеддингов для условного формирования. tokenizer ([*~transformers.AutoTokenizer*]): токенизатор для режима только с текстом (generate). processor ([*~transformers.Qwen3VLProcessor*]): мультимодальный процессор для режима редактирования (шаблон «текст + изображение»). vae ([*~diffusers.AutoencoderTiny*]): компактный VAE, оптимизированный для мобильных устройств, для кодирования/декодирования латентов. unet ([*~diffusers.DreamLiteUNetModel*]): DreamLite UNet (GQA + qk_norm + глубинно-отделимые свёртки). scheduler ([*~diffusers.FlowMatchEulerDiscreteScheduler*]): дискретный эйлеровский планировщик flow-matching с динамическим сдвигом. | |
| Примечание: `batch_size` в настоящее время принудительно устанавливается в `1`; поддерживается `num_images_per_prompt`. | |
| #### __call__[[diffusers.DreamLitePipeline.__call__]] | |
| ```python | |
| __call__(prompt: typing.Optional[str] = None, negative_prompt: typing.Optional[str] = None, image: typing.Optional[PIL.Image.Image] = None, height: typing.Optional[int] = None, width: typing.Optional[int] = None, guidance_scale: float = 3.5, image_guidance_scale: float = 1.5, num_inference_steps: int = 30, sigmas: typing.Optional[typing.List[float]] = None, num_images_per_prompt: typing.Optional[int] = 1, generator: typing.Union[torch.Generator, typing.List[torch.Generator], NoneType] = None, output_type: typing.Optional[str] = 'pil', return_dict: bool = True, max_sequence_length: int = 200, text_pad_embedding: typing.Optional[torch.Tensor] = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L388) | |
| **Параметры:** | |
| prompt : Текстовый промпт. | |
| negative_prompt : Отрицательный текстовый промпт (по умолчанию — пустая строка). | |
| image : Optional input image. If provided, the pipeline runs in **edit / image-to-image** mode with dual classifier-free guidance; otherwise it runs in **text-to-image** mode. | |
| height : Разрешение вывода (высота). По умолчанию `default_sample_size * vae_scale_factor` (1024). Это же значение по умолчанию используется и для T2I, и для I2I; передайте явное значение, чтобы переопределить его. | |
| width : Разрешение вывода (ширина). По умолчанию `default_sample_size * vae_scale_factor` (1024). Это же значение по умолчанию используется и для T2I, и для I2I; передайте явное значение, чтобы переопределить его. | |
| guidance_scale : масштаб CFG на текстовой ветви (оба режима). | |
| image_guidance_scale : Дополнительный масштаб CFG на ветке изображения (только в режиме редактирования). | |
| num_inference_steps : Количество шагов денойзинга. | |
| sigmas : Необязательные явные сигмы FlowMatch; по умолчанию используется равномерный linspace. | |
| num_images_per_prompt : Количество выходных изображений на запрос (примечание: `batch_size` принудительно устанавливается в 1). | |
| generator : Генератор(ы) случайных чисел. | |
| output_type : `"pil"`, `"np"`, `"pt"` или `"latent"`. | |
| return_dict : Если True, возвращает [DreamLitePipelineOutput](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput); иначе кортеж `(images,)`. | |
| max_sequence_length : Максимальное количество токенов пользовательского запроса, сохраняемых после удаления префикса шаблона чата. Применяется только в режиме `generate` (режим `edit` использует встроенное выравнивание мультимодального процессора). | |
| text_pad_embedding : Необязательное обучаемое вложение для маскированных позиций. | |
| **Возвращает:** | |
| [DreamLitePipelineOutput](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) или `tuple`. | |
| Запустите конвейер DreamLite. | |
| ## DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]] | |
| #### diffusers.DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]] | |
| ```python | |
| diffusers.DreamLiteMobilePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L156) | |
| Пайплайн DreamLite **Mobile**: дистиллированный вариант [DreamLitePipeline](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipeline) без classifier-free guidance для быстрого инференса за малое число шагов (по умолчанию 4 шага). | |
| Режим работы определяется автоматически на основе входных данных (как в базовом конвейере): | |
| - `image is None` -> генерация изображения по тексту. | |
| - `image is not None` -> image-to-image / редактирование по инструкции. | |
| Поскольку classifier-free guidance **удалён в процессе дистилляции**, параметры `guidance_scale` и `image_guidance_scale` принимаются для совместимости API с [DreamLitePipeline](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipeline), но игнорируются в цикле денойзинга. Параметр `negative_prompt` намеренно отсутствует. | |
| Components (идентично базовому конвейеру): text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): мультимодальный текстовый/визуальный энкодер. tokenizer ([*~transformers.AutoTokenizer*]): токенизатор для режима только с текстом (generate). processor ([*~transformers.Qwen3VLProcessor*]): мультимодальный процессор для режима редактирования. vae ([*~diffusers.AutoencoderTiny*]): компактный VAE, оптимизированный для мобильных устройств. unet ([*~diffusers.DreamLiteUNetModel*]): DreamLite UNet. scheduler ([*~diffusers.FlowMatchEulerDiscreteScheduler*]): дискретный эйлеровский планировщик flow-matching с динамическим сдвигом. | |
| Примечание: `batch_size` в настоящее время принудительно устанавливается в `1`; поддерживается `num_images_per_prompt`. | |
| #### __call__[[diffusers.DreamLiteMobilePipeline.__call__]] | |
| ```python | |
| __call__(prompt: typing.Union[str, typing.List[str]] = None, image: typing.Optional[PIL.Image.Image] = None, height: typing.Optional[int] = None, width: typing.Optional[int] = None, num_inference_steps: int = 4, guidance_scale: typing.Optional[float] = None, image_guidance_scale: typing.Optional[float] = None, sigmas: typing.Optional[typing.List[float]] = None, num_images_per_prompt: typing.Optional[int] = 1, generator: typing.Union[torch.Generator, typing.List[torch.Generator], NoneType] = None, output_type: typing.Optional[str] = 'pil', return_dict: bool = True, max_sequence_length: int = 200, text_pad_embedding: typing.Optional[torch.Tensor] = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L384) | |
| **Параметры:** | |
| prompt : Текстовый промпт. | |
| image : Необязательное входное изображение. Если указано, выполняется в режиме **редактирования / image-to-image**; в противном случае — в режиме **text-to-image**. | |
| height : Разрешение вывода (высота). По умолчанию `default_sample_size * vae_scale_factor` (1024). | |
| width : Разрешение вывода (ширина). По умолчанию `default_sample_size * vae_scale_factor` (1024). | |
| num_inference_steps : Количество шагов денойзинга. По умолчанию **4** (дистиллированный). | |
| guidance_scale : Принят для обеспечения паритета API с [DreamLitePipeline](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipeline); **игнорируется**, так как CFG был дистиллирован. | |
| image_guidance_scale : Принят для обеспечения паритета API с [DreamLitePipeline](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipeline); **игнорируется**, так как CFG был дистиллирован. | |
| sigmas : Необязательные явные сигмы FlowMatch; по умолчанию используется равномерный linspace. | |
| num_images_per_prompt : Количество выходных изображений на запрос (примечание: `batch_size` принудительно устанавливается в 1). | |
| generator : Генератор(ы) случайных чисел. | |
| output_type : `"pil"`, `"np"`, `"pt"` или `"latent"`. | |
| return_dict : Если True, возвращает [DreamLitePipelineOutput](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput); иначе `(images,)`. | |
| max_sequence_length : Максимальное количество токенов пользовательского запроса, сохраняемых после удаления префикса шаблона чата. Применяется только в режиме `generate` (режим `edit` использует встроенное выравнивание мультимодального процессора). | |
| text_pad_embedding : Необязательное обучаемое вложение для маскированных позиций. | |
| **Возвращает:** | |
| [DreamLitePipelineOutput](/docs/diffusers/main/ru/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) или `tuple`. | |
| Запустите дистиллированный пайплайн DreamLite Mobile. | |
| ## DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]] | |
| #### diffusers.DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]] | |
| ```python | |
| diffusers.DreamLitePipelineOutput(images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray]) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_output.py#L25) | |
| **Параметры:** | |
| images (`List[PIL.Image.Image]` или `np.ndarray`) : список денойзированных изображений PIL длиной `batch_size` или массив NumPy формы `(batch_size, height, width, num_channels)`. Изображения PIL или массив NumPy представляют собой денойзированные изображения диффузионного конвейера. | |
| Класс вывода для конвейеров DreamLite. | |
Xet Storage Details
- Size:
- 20.9 kB
- Xet hash:
- b7b582f293962f6b486633090ef22b59aa7a8180c9a7f1074e3677471083e2d0
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.