Diffusers documentation
DreamLite
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:
| Pipeline | Modlar | CFG | Kullanım senaryosu |
|---|---|---|---|
| DreamLitePipeline | metinden 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 |
| DreamLiteMobilePipeline | metinden 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şi | Cihazda / düşük gecikme |
Resmi denetim noktaları:
- Temel model: carlofkl/DreamLite-base
- Damıtılmış mobil model: carlofkl/DreamLite-mobile
Her iki pipeline da
imageargü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ı birImg2Imgsınıfı yoktur.
Görüntü düzenleme için bir giriş görüntüsü yüklerken, ham
PIL.Image.open(...)yerinediffusers.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üzImage.openile 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 = 1değ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,
AutoencoderTinyolupencoder_block_out_channelsparametresini açığa çıkarır;vae_scale_factor, pipeline başlatma sırasında bu parametreden türetilir.
DreamLitePipeline
sınıf diffusers.DreamLitePipeline
< source >( 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__
< source >( 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_size1 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
generatemoduna uygulanır (editmodu, ç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
< source >( 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__
< source >( 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_size1 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
generatemoduna uygulanır (editmodu, ç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
< source >( images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray] )
Parametreler
DreamLite pipeline'leri için çıktı sınıfı.