Buckets:
| # DreamLite | |
| DreamLite adalah model teks-ke-gambar dan pengeditan gambar dari ByteDance. Model ini menggabungkan 2D U-Net khusus (`DreamLiteUNetModel`) dengan encoder multimodal `Qwen3-VL` sebagai encoder prompt/instruksi gambar, serta menggunakan VAE `AutoencoderTiny` (gaya TAESD) untuk encode/decode laten yang cepat. | |
| Dua pipeline yang tersedia: | |
| | Pipeline | Mode | CFG | Kasus penggunaan | | |
| |---|---|---|---| | |
| | [DreamLitePipeline](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipeline) | teks-ke-gambar **dan** pengeditan gambar (dipilih secara otomatis berdasarkan apakah `image` adalah `None`) | 3-branch dual CFG (`guidance_scale` pada cabang teks, `image_guidance_scale` pada cabang gambar, à la InstructPix2Pix) | Kualitas tertinggi | | |
| | [DreamLiteMobilePipeline](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLiteMobilePipeline) | teks-ke-gambar **dan** pengeditan gambar (dipilih secara otomatis berdasarkan apakah `image` adalah `None`) | Tidak ada — terdistil, satu forward UNet per langkah | On-device / latensi rendah | | |
| Checkpoint resmi: | |
| * Model dasar: [carlofkl/DreamLite-base](https://huggingface.co/carlofkl/DreamLite-base) | |
| * Model mobile yang telah di-distilasi: [carlofkl/DreamLite-mobile](https://huggingface.co/carlofkl/DreamLite-mobile) | |
| > [!TIP] | |
| > Kedua pipeline secara otomatis mendeteksi mode teks-ke-gambar vs. pengeditan gambar berdasarkan apakah argumen `image` disediakan. Tidak ada kelas `Img2Img` yang terpisah. | |
| > [!TIP] | |
| > Saat memuat gambar input untuk diedit, lebih disarankan menggunakan `diffusers.utils.load_image(...)` daripada `PIL.Image.open(...)` mentah. `load_image` memaksa konversi ke RGB dan menerapkan orientasi EXIF, keduanya diasumsikan oleh pipeline. Penggunaan `Image.open` biasa pada sumber RGBA / palet / berotasi EXIF akan secara diam-diam menghasilkan kondisioning laten yang berbeda dan menurunkan kualitas output. | |
| ## Teks-ke-gambar (Dasar) | |
| ```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") | |
| ``` | |
| ## Pengeditan gambar (Dasar) | |
| Lewatkan `image` untuk masuk ke mode edit. Baik `guidance_scale` (cabang teks) maupun `image_guidance_scale` (cabang gambar) aktif di sini. | |
| ```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") | |
| ``` | |
| ## Teks-ke-gambar (Mobile) | |
| Pipeline mobile ini telah didistilkan dan sepenuhnya melewati CFG — hanya satu forward UNet per langkah. Pipeline ini menerima argumen `prompt` / `height` / `width` / `num_inference_steps` yang sama, tetapi **mengabaikan** `guidance_scale` dan `image_guidance_scale` jika diberikan (peringatan akan dicatat). | |
| ```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") | |
| ``` | |
| ## Pengeditan gambar (Mobile) | |
| ```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") | |
| ``` | |
| ## Catatan dan batasan | |
| * Kedua pipeline memaksa `batch_size = 1` secara internal; `num_images_per_prompt` mengontrol berapa banyak sampel yang diambil dari prompt yang sama, bukan batching paralel. | |
| * Prompt encoder adalah `Qwen3-VL`, yaitu model multimodal. Memuat pipeline lengkap karenanya memerlukan memori GPU yang cukup untuk U-Net dan text encoder Qwen3-VL (~4 GB + ~0,7 GB dalam bf16 untuk rilis dasar). | |
| * VAE adalah `AutoencoderTiny` dan mengekspos `encoder_block_out_channels`; `vae_scale_factor` diturunkan darinya saat inisialisasi pipeline. | |
| ## DreamLitePipeline[[diffusers.DreamLitePipeline]] | |
| #### diffusers.DreamLitePipeline[[diffusers.DreamLitePipeline]] | |
| ```python | |
| diffusers.DreamLitePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler) | |
| ``` | |
| [Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L155) | |
| DreamLite pipeline untuk text-to-image dan pengeditan gambar berbasis instruksi. | |
| Pipeline yang sama mendukung kedua mode; mode operasi dideteksi secara otomatis dari input: | |
| - `image is None` -> teks-ke-gambar (CFG tunggal pada teks). | |
| - `image is not None` -> image-to-image / instruksi edit (dual CFG: teks + gambar). | |
| Komponen: text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): Encoder teks/visi multimodal yang digunakan untuk menghasilkan embedding kondisional. tokenizer ([*~transformers.AutoTokenizer*]): Tokenizer untuk mode teks saja (generate). processor ([*~transformers.Qwen3VLProcessor*]): Pemroses multimodal untuk mode edit (template teks + gambar). vae ([*~diffusers.AutoencoderTiny*]): VAE kecil yang ramah perangkat mobile untuk enkripsi/ddekripsi laten. unet ([*~diffusers.DreamLiteUNetModel*]): DreamLite UNet (GQA + qk_norm + konvolusi depthwise-separable). scheduler ([*~diffusers.FlowMatchEulerDiscreteScheduler*]): Scheduler Euler flow-matching dengan pergeseran dinamis. | |
| Catatan: `batch_size` saat ini dipaksa menjadi `1`; `num_images_per_prompt` didukung. | |
| #### __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) | |
| ``` | |
| [Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L388) | |
| **Parameter:** | |
| prompt : Prompt teks. | |
| negative_prompt : Prompt teks negatif (defaultnya string kosong). | |
| image : Gambar input opsional. Jika diberikan, pipeline berjalan dalam mode **edit / image-to-image** dengan dual classifier-free guidance; jika tidak, berjalan dalam mode **text-to-image**. | |
| height : Resolusi output (tinggi). Bawaan adalah `default_sample_size * vae_scale_factor` (1024). Bawaan yang sama berlaku untuk T2I dan I2I; berikan nilai eksplisit untuk menimpa. | |
| width : Resolusi output (lebar). Bawaan adalah `default_sample_size * vae_scale_factor` (1024). Bawaan yang sama berlaku untuk T2I dan I2I; berikan nilai eksplisit untuk menimpa. | |
| guidance_scale : Skala CFG pada cabang teks (kedua mode). | |
| image_guidance_scale : Skala CFG tambahan pada cabang gambar (hanya mode edit). | |
| num_inference_steps : Jumlah langkah denoising. | |
| sigmas : Sigmas FlowMatch eksplisit opsional; secara default menggunakan linspace seragam. | |
| num_images_per_prompt : Gambar output per prompt (catatan: `batch_size` dipaksa menjadi 1). | |
| generator : Generator acak. | |
| output_type : `"pil"`, `"np"`, `"pt"` atau `"latent"`. | |
| return_dict : Jika True, mengembalikan [DreamLitePipelineOutput](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput); selain itu, tuple `(images,)`. | |
| max_sequence_length : Jumlah maksimum token user-prompt yang dipertahankan setelah membuang prefix chat-template. Hanya berlaku untuk mode `generate` (mode `edit` menggunakan padding native dari multimodal processor). | |
| text_pad_embedding : Embedding pad yang dipelajari secara opsional untuk posisi yang dimasker. | |
| **Mengembalikan:** | |
| [DreamLitePipelineOutput](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) atau `tuple`. | |
| Jalankan pipeline DreamLite. | |
| ## DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]] | |
| #### diffusers.DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]] | |
| ```python | |
| diffusers.DreamLiteMobilePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler) | |
| ``` | |
| [Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L156) | |
| Pipeline **Mobile** DreamLite: varian terdistilasi tanpa classifier-free-guidance dari [DreamLitePipeline](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipeline) untuk inferensi cepat dengan sedikit langkah (default 4 langkah). | |
| Mode operasi dideteksi secara otomatis dari input (sama seperti pipeline dasar): | |
| - `image is None` -> teks-ke-gambar. | |
| - `image is not None` -> gambar-ke-gambar / instruksi edit. | |
| Karena classifier-free guidance **dihilangkan**, `guidance_scale` dan `image_guidance_scale` diterima untuk kesetaraan API dengan [DreamLitePipeline](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipeline) tetapi diabaikan dalam loop denoising. `negative_prompt` sengaja tidak ada. | |
| Components (sama dengan pipeline dasar): text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): Encoder teks/visi multimodal. tokenizer ([*~transformers.AutoTokenizer*]): Tokenizer untuk mode teks saja (generate). processor ([*~transformers.Qwen3VLProcessor*]): Pemroses multimodal untuk mode edit. vae ([*~diffusers.AutoencoderTiny*]): VAE kecil yang ramah perangkat mobile. unet ([*~diffusers.DreamLiteUNetModel*]): DreamLite UNet. scheduler ([*~diffusers.FlowMatchEulerDiscreteScheduler*]): Scheduler Euler flow-matching dengan pergeseran dinamis. | |
| Catatan: `batch_size` saat ini dipaksa menjadi `1`; `num_images_per_prompt` didukung. | |
| #### __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) | |
| ``` | |
| [Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L384) | |
| **Parameter:** | |
| prompt : Prompt teks. | |
| image : Gambar input opsional. Jika diberikan, berjalan dalam mode **edit / image-to-image**; jika tidak, berjalan dalam mode **text-to-image**. | |
| height : Resolusi output (tinggi). Bawaan adalah `default_sample_size * vae_scale_factor` (1024). | |
| width : Resolusi output (lebar). Bawaan adalah `default_sample_size * vae_scale_factor` (1024). | |
| num_inference_steps : Jumlah langkah denoising. Bawaan adalah **4** (distilled). | |
| guidance_scale : Diterima untuk kesetaraan API dengan [DreamLitePipeline](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipeline); **diabaikan** karena CFG telah dihilangkan melalui distilasi. | |
| image_guidance_scale : Diterima untuk kesetaraan API dengan [DreamLitePipeline](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipeline); **diabaikan** karena CFG telah dihilangkan melalui distilasi. | |
| sigmas : Sigmas FlowMatch eksplisit opsional; secara default menggunakan linspace seragam. | |
| num_images_per_prompt : Gambar output per prompt (catatan: `batch_size` dipaksa menjadi 1). | |
| generator : Generator acak. | |
| output_type : `"pil"`, `"np"`, `"pt"` atau `"latent"`. | |
| return_dict : Jika True, mengembalikan [DreamLitePipelineOutput](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput); selain itu `(images,)`. | |
| max_sequence_length : Jumlah maksimum token user-prompt yang dipertahankan setelah membuang prefix chat-template. Hanya berlaku untuk mode `generate` (mode `edit` menggunakan padding native dari multimodal processor). | |
| text_pad_embedding : Embedding pad yang dipelajari secara opsional untuk posisi yang dimasker. | |
| **Mengembalikan:** | |
| [DreamLitePipelineOutput](/docs/diffusers/main/id/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) atau `tuple`. | |
| Jalankan pipeline DreamLite Mobile yang telah di-distil. | |
| ## DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]] | |
| #### diffusers.DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]] | |
| ```python | |
| diffusers.DreamLitePipelineOutput(images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray]) | |
| ``` | |
| [Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_output.py#L25) | |
| **Parameter:** | |
| images (`List[PIL.Image.Image]` atau `np.ndarray`) : Daftar gambar PIL yang telah didenois dengan panjang `batch_size` atau array NumPy dengan bentuk `(batch_size, height, width, num_channels)`. Gambar PIL atau array NumPy menyajikan gambar-gambar yang telah didenois dari pipeline difusi. | |
| Kelas output untuk pipeline DreamLite. | |
Xet Storage Details
- Size:
- 14.8 kB
- Xet hash:
- 89acb01a0ca13ef4f4a4c3435490b60708e12511c395fb624c55ac1c505a855b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.