# 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ı, komut / 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](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.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](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.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](https://huggingface.co/carlofkl/DreamLite-base)
* Damıtılmış mobil model: [carlofkl/DreamLite-mobile](https://huggingface.co/carlofkl/DreamLite-mobile)

> [!TIP]
> 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.

> [!TIP]
> Düzenleme için bir giriş görseli yüklerken, ham `PIL.Image.open(...)` yerine `diffusers.utils.load_image(...)` tercih edin. `load_image`, hattın varsaydığı RGB dönüşümünü ve EXIF yönünü zorunlu kılar. 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)

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

## 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.

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

## 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 yapılır. 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).

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

## Görsel düzenleme (Mobil)

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

## 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 yerine aynı istemden 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[[diffusers.DreamLitePipeline]]

#### diffusers.DreamLitePipeline[[diffusers.DreamLitePipeline]]

```python
diffusers.DreamLitePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L155)

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ç (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__[[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)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L388)

**Parametreler:**

prompt : Metin komutu.

negative_prompt : Negatif metin istemi (varsayılan olarak boş dizedir).

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 ile çalışır; aksi takdirde **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. 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`'tur (1024). Hem T2I hem de I2I için aynı varsayılan değer 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örsel 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](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) döndürülür; aksi halde `(images,)` bir demet döndürülür.

max_sequence_length : Sohbet şablonu öneki düşürüldükten sonra korunan kullanıcı istemi belirteçlerinin (token) maksimum sayısı. Yalnızca `generate` moduna uygulanır (`edit` modu, çok modlu işleyicinin yerel dolgusunu kullanır).

text_pad_embedding : Maskelenmiş konumlar için isteğe bağlı öğrenilmiş dolgu gömme (pad embedding).

**Dönüş:**

[DreamLitePipelineOutput](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) veya `tuple`.

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

## DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]]

#### diffusers.DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]]

```python
diffusers.DreamLiteMobilePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L156)

DreamLite **Mobile** hattı: [DreamLitePipeline](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.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](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.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.

Components (taban hattayla aynı): text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): Çok modlu metin/görüntü kodlayıcı. tokenizer ([*~transformers.AutoTokenizer*]): Sadece metin (generate) modu için belirteçleyici. processor ([*~transformers.Qwen3VLProcessor*]): Düzenleme modu için çok modlu işlemci. vae ([*~diffusers.AutoencoderTiny*]): Mobil uyumlu minik 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__[[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)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L384)

**Parametreler:**

prompt : Metin komutu.

image : İsteğe bağlı giriş görüntüsü. Sağlanırsa **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 olarak **4** (damıtılmış).

guidance_scale : [DreamLitePipeline](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.DreamLitePipeline) ile API uyumluluğu için kabul edildi; CFG distile edildiği için **yoksayıldı**.

image_guidance_scale : [DreamLitePipeline](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.DreamLitePipeline) ile API uyumluluğu için kabul edildi; CFG distile edildiği için **yoksayıldı**.

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](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) döndürülür; aksi halde `(images,)`.

max_sequence_length : Sohbet şablonu öneki düşürüldükten sonra korunan kullanıcı istemi belirteçlerinin (token) maksimum sayısı. Yalnızca `generate` moduna uygulanır (`edit` modu, çok modlu işleyicinin yerel dolgusunu kullanır).

text_pad_embedding : Maskelenmiş konumlar için isteğe bağlı öğrenilmiş dolgu gömme (pad embedding).

**Dönüş:**

[DreamLitePipelineOutput](/docs/diffusers/main/tr/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) veya `tuple`.

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

## DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]]

#### diffusers.DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]]

```python
diffusers.DreamLitePipelineOutput(images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray])
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_output.py#L25)

**Parametreler:**

images (`List[PIL.Image.Image]` veya `np.ndarray`) : Uzunluğu `batch_size` olan gürültüsü azaltılmış PIL görselleri listesi veya `(batch_size, height, width, num_channels)` biçiminde NumPy dizisi. PIL görselleri veya NumPy dizisi, difüzyon hattının gürültüsü azaltılmış görsellerini temsil eder.

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

