Diffusers documentation

DreamLite

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DreamLite

DreamLite, ByteDance tarafından geliştirilen bir metinden görüntüye ve görüntü düzenleme modelidir. Özel bir 2D U-Net (DreamLiteUNetModel) ile Qwen3-VL çok modlu kodlayıcıyı, istem / görüntü talimatı kodlayıcısı olarak eşleştirir ve hızlı gizli kodlama/çözme için AutoencoderTiny (TAESD tarzı) bir VAE kullanır.

İki pipeline açığa çıkarılır:

PipelineModlarCFGKullanım senaryosu
DreamLitePipelinemetinden görüntüye ve görüntü düzenleme (image None olup olmadığına göre otomatik seçilir)3 dallı çift CFG (metin dalında guidance_scale, görüntü dalında image_guidance_scale, InstructPix2Pix tarzında)En yüksek kalite
DreamLiteMobilePipelinemetinden görüntüye ve görüntü düzenleme (image None olup olmadığına göre otomatik seçilir)Yok — damıtılmış, adım başına tek UNet ileri geçişiCihazda / düşük gecikme

Resmi denetim noktaları:

Her iki pipeline da image argümanının sağlanıp sağlanmadığına göre metinden görüntüye mi yoksa görüntü düzenleme modunda mı çalıştığını otomatik olarak algılar. Ayrı bir Img2Img sınıfı yoktur.

Görüntü düzenleme için bir giriş görüntüsü yüklerken, ham PIL.Image.open(...) yerine diffusers.utils.load_image(...) tercih edin. load_image, pipeline'ın varsaydığı RGB dönüşümünü ve EXIF yönünü uygular. RGBA / palet / EXIF döndürmeli bir kaynağın düz Image.open ile açılması, sessizce farklı bir latent koşullandırmaya yol açar ve çıktı kalitesini düşürür.

Metinden görüntüye (Temel)

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")

Görsel düzenleme (Temel)

Düzenleme moduna girmek için bir image geçin. Burada hem guidance_scale (metin dalı) hem de image_guidance_scale (görsel dalı) aktiftir.

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")

Metinden görüntüye (Mobil)

Mobil pipeline damıtılmıştır ve CFG'yi tamamen atlar — her adımda tek bir UNet ileri geçişi yapar. Aynı prompt / height / width / num_inference_steps argümanlarını kabul eder, ancak guidance_scale ve image_guidance_scale geçirilirse bunları yoksayar (bir uyarı günlüğe kaydedilir).

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")

Görsel düzenleme (Mobil)

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")

Notlar ve kısıtlamalar

  • Her iki pipeline da içsel olarak batch_size = 1 değerini zorlar; num_images_per_prompt, paralel toplu işleme (batching) yerine aynı istemden (prompt) kaç örnek çekileceğini kontrol eder.
  • İstem kodlayıcı, çok modlu bir model olan Qwen3-VL'dir. Bu nedenle tam hattın yüklenmesi, hem U-Net hem de Qwen3-VL metin kodlayıcısı için yeterli GPU belleği gerektirir (temel sürümde bf16 ile ~4 GB + ~0,7 GB).
  • VAE, AutoencoderTiny olup encoder_block_out_channels parametresini açığa çıkarır; vae_scale_factor, pipeline başlatma sırasında bu parametreden türetilir.

DreamLitePipeline

sınıf diffusers.DreamLitePipeline

< >

( text_encoder: Qwen3VLForConditionalGenerationtokenizer: AutoTokenizerprocessor: Qwen3VLProcessorvae: AutoencoderTinyunet: DreamLiteUNetModelscheduler: FlowMatchEulerDiscreteScheduler )

Metinden görüntüye ve talimata dayalı görüntü düzenleme için DreamLite hattı.

Aynı boru hattı her iki modu da destekler; çalışma modu girdilerden otomatik olarak algılanır:

  • image is None -> metinden görüntüye (metin üzerinde tek CFG).
  • image is not None -> görüntüden görüntüye / talimat düzenleme (çift CFG: metin + görüntü).

Bileşenler: text_encoder ([~transformers.Qwen3VLForConditionalGeneration]): Koşullama gömme (embedding) üretmek için kullanılan çok modlu metin/görüntü kodlayıcı. tokenizer ([~transformers.AutoTokenizer]): Sadece metin (generate) modu için belirteçleştirici (tokenizer). processor ([~transformers.Qwen3VLProcessor]): Düzenleme modu (metin + görüntü şablonu) için çok modlu işlemci. vae ([~diffusers.AutoencoderTiny]): Gizli (latent) kodlama/çözme için mobil uyumlu küçük VAE. unet ([~diffusers.DreamLiteUNetModel]): DreamLite UNet (GQA + qk_norm + derinlik ayrılabilir konvolüsyonlar). scheduler ([~diffusers.FlowMatchEulerDiscreteScheduler]): Dinamik kaydırmalı akış eşleştirme (flow-matching) Euler zamanlayıcı.

Not: batch_size şu anda 1 olarak zorunlu tutulmaktadır; num_images_per_prompt desteklenmektedir.

__call__

< >

( prompt: typing.Optional[str] = Nonenegative_prompt: typing.Optional[str] = Noneimage: typing.Optional[PIL.Image.Image] = Noneheight: typing.Optional[int] = Nonewidth: typing.Optional[int] = Noneguidance_scale: float = 3.5image_guidance_scale: float = 1.5num_inference_steps: int = 30sigmas: typing.Optional[typing.List[float]] = Nonenum_images_per_prompt: typing.Optional[int] = 1generator: typing.Union[torch.Generator, typing.List[torch.Generator], NoneType] = Noneoutput_type: typing.Optional[str] = 'pil'return_dict: bool = Truemax_sequence_length: int = 200text_pad_embedding: typing.Optional[torch.Tensor] = None )

Parametreler

  • prompt — Metin istemi.
  • negative_prompt — Negatif metin komutu (varsayılan olarak boş dizidir).
  • image — İsteğe bağlı giriş görüntüsü. Sağlanırsa, pipeline düzenleme / görüntüden görüntüye modunda çift sınıflandırıcı-ücretsiz yönlendirme (dual classifier-free guidance) ile çalışır; aksi halde metinden görüntüye modunda çalışır.
  • height — Çıktı çözünürlüğü (yükseklik). Varsayılan değer default_sample_size * vae_scale_factor'dir (1024). Aynı varsayılan değer hem T2I hem de I2I için geçerlidir; geçersiz kılmak için açık bir değer iletin.
  • width — Çıktı çözünürlüğü (genişlik). Varsayılan değer default_sample_size * vae_scale_factor'dir (1024). Aynı varsayılan değer hem T2I hem de I2I için geçerlidir; geçersiz kılmak için açık bir değer iletin.
  • guidance_scale — metin dalında CFG ölçeği (her iki modda da).
  • image_guidance_scale — Görüntü dalında ek CFG ölçeği (yalnızca düzenleme modu).
  • num_inference_steps — Gürültü azaltma adım sayısı.
  • sigmas — İsteğe bağlı açık FlowMatch sigmaları; varsayılan olarak uniform linspace kullanılır.
  • num_images_per_prompt — İstek başına çıktı görüntüleri (not: batch_size 1 olarak zorlanır).
  • generator — Rastgele üreteç(ler).
  • output_type — "pil", "np", "pt" veya "latent".
  • return_dict — True ise DreamLitePipelineOutput döndürür; aksi halde (images,) demeti döndürür.
  • max_sequence_length — Sohbet şablonu öneki kaldırıldıktan sonra korunan kullanıcı istemi belirteçlerinin (token) maksimum sayısı. Yalnızca generate moduna uygulanır (edit modu, çok modlu işleyicinin yerel dolgu (padding) işlevini kullanır).
  • text_pad_embedding — Maskelenmiş konumlar için isteğe bağlı öğrenilmiş pad gömme.

DreamLite hattını çalıştırın.

DreamLiteMobilePipeline

sınıf diffusers.DreamLiteMobilePipeline

< >

( text_encoder: Qwen3VLForConditionalGenerationtokenizer: AutoTokenizerprocessor: Qwen3VLProcessorvae: AutoencoderTinyunet: DreamLiteUNetModelscheduler: FlowMatchEulerDiscreteScheduler )

DreamLite Mobile hattı: DreamLitePipeline'in damıtılmış, sınıflandırıcı-önerisiz (classifier-free-guidance-free) varyantı; hızlı az-adımlı çıkarım için (varsayılan 4 adım).

Çalışma modu, girdilerden otomatik olarak algılanır (temel boru hattı ile aynı):

  • image is None -> metinden görüntüye.
  • image is not None -> görüntüden görüntüye / talimat düzenleme.

Sınıflandırıcı-ücretsiz yönlendirme buharlaştırıldığı için, guidance_scale ve image_guidance_scale, DreamLitePipeline ile API uyumluluğu için kabul edilir ancak gürültü azaltma döngüsünde yok sayılır. negative_prompt bilinçli olarak eksiktir.

Bileşenler (temel iş akışıyla aynı): text_encoder ([~transformers.Qwen3VLForConditionalGeneration]): Çok modlu metin/görüntü kodlayıcı. tokenizer ([~transformers.AutoTokenizer]): Sadece metin (generate) modu için belirteçleştirici. processor ([~transformers.Qwen3VLProcessor]): Düzenleme modu için çok modlu işlemci. vae ([~diffusers.AutoencoderTiny]): Mobil uyumlu küçük VAE. unet ([~diffusers.DreamLiteUNetModel]): DreamLite UNet. scheduler ([~diffusers.FlowMatchEulerDiscreteScheduler]): Dinamik kaydırmalı akış eşleştirme Euler zamanlayıcı.

Not: batch_size şu anda 1 olarak zorunlu tutulmaktadır; num_images_per_prompt desteklenmektedir.

__call__

< >

( prompt: typing.Union[str, typing.List[str]] = Noneimage: typing.Optional[PIL.Image.Image] = Noneheight: typing.Optional[int] = Nonewidth: typing.Optional[int] = Nonenum_inference_steps: int = 4guidance_scale: typing.Optional[float] = Noneimage_guidance_scale: typing.Optional[float] = Nonesigmas: typing.Optional[typing.List[float]] = Nonenum_images_per_prompt: typing.Optional[int] = 1generator: typing.Union[torch.Generator, typing.List[torch.Generator], NoneType] = Noneoutput_type: typing.Optional[str] = 'pil'return_dict: bool = Truemax_sequence_length: int = 200text_pad_embedding: typing.Optional[torch.Tensor] = None )

Parametreler

  • prompt — Metin istemi.
  • image — İsteğe bağlı giriş görüntüsü. Verilirse düzenleme / görüntüden görüntüye modunda çalışır; aksi halde metinden görüntüye modunda çalışır.
  • height — Çıktı çözünürlüğü (yükseklik). Varsayılan olarak default_sample_size * vae_scale_factor (1024) değerini alır.
  • width — Çıktı çözünürlüğü (genişlik). Varsayılan olarak default_sample_size * vae_scale_factor (1024) değerini alır.
  • num_inference_steps — Gürültü azaltma adım sayısı. Varsayılan değeri 4'tür (distilled).
  • guidance_scale — DreamLitePipeline ile API uyumluluğu için kabul edilir; CFG distile edilerek kaldırıldığı için yoksayılır.
  • image_guidance_scale — DreamLitePipeline ile API uyumluluğu için kabul edilir; CFG distile edildiği için yoksayılır.
  • sigmas — İsteğe bağlı açık FlowMatch sigmaları; varsayılan olarak uniform linspace kullanılır.
  • num_images_per_prompt — İstek başına çıktı görüntüleri (not: batch_size 1 olarak zorlanır).
  • generator — Rastgele üreteç(ler).
  • output_type — "pil", "np", "pt" veya "latent".
  • return_dict — True ise DreamLitePipelineOutput döndürür; aksi halde (images,).
  • max_sequence_length — Sohbet şablonu öneki kaldırıldıktan sonra korunan kullanıcı istemi belirteçlerinin (token) maksimum sayısı. Yalnızca generate moduna uygulanır (edit modu, çok modlu işleyicinin yerel dolgu (padding) işlevini kullanır).
  • text_pad_embedding — Maskelenmiş konumlar için isteğe bağlı öğrenilmiş pad gömme.

Distilled DreamLite Mobile pipeline'ini çalıştırın.

DreamLitePipelineOutput

sınıf diffusers.DreamLitePipelineOutput

< >

( images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray] )

Parametreler

  • images (List[PIL.Image.Image] veya np.ndarray) — Uzunluğu batch_size olan gürültüsü azaltılmış PIL görüntülerinin listesi veya (batch_size, height, width, num_channels) biçiminde bir NumPy dizisi. PIL görüntüleri veya NumPy dizisi, difüzyon hattının gürültüsü azaltılmış görüntülerini temsil eder.

DreamLite pipeline'leri için çıktı sınıfı.

Update on GitHub