Buckets:

mishig's picture
|
download
raw
15.8 kB
# 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ı.

Xet Storage Details

Size:
15.8 kB
·
Xet hash:
59dbafabe69870eeefa78b4fc4fe5ba32d75a47ce20521f325e23fe6cf53e646

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.