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 | 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 | 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
- Model mobile yang telah di-distilasi: carlofkl/DreamLite-mobile
Kedua pipeline secara otomatis mendeteksi mode teks-ke-gambar vs. pengeditan gambar berdasarkan apakah argumen
imagedisediakan. Tidak ada kelasImg2Imgyang terpisah.
Saat memuat gambar input untuk diedit, lebih disarankan menggunakan
diffusers.utils.load_image(...)daripadaPIL.Image.open(...)mentah.load_imagememaksa konversi ke RGB dan menerapkan orientasi EXIF, keduanya diasumsikan oleh pipeline. PenggunaanImage.openbiasa pada sumber RGBA / palet / berotasi EXIF akan secara diam-diam menghasilkan kondisioning laten yang berbeda dan menurunkan kualitas output.
Teks-ke-gambar (Dasar)
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.
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).
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)
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 = 1secara internal;num_images_per_promptmengontrol 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
AutoencoderTinydan mengeksposencoder_block_out_channels;vae_scale_factorditurunkan darinya saat inisialisasi pipeline.
DreamLitePipeline[[diffusers.DreamLitePipeline]]
diffusers.DreamLitePipeline[[diffusers.DreamLitePipeline]]
diffusers.DreamLitePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler)
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]]
__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)
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; 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 atau tuple.
Jalankan pipeline DreamLite.
DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]]
diffusers.DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]]
diffusers.DreamLiteMobilePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler)
Pipeline Mobile DreamLite: varian terdistilasi tanpa classifier-free-guidance dari 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 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]]
__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)
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; diabaikan karena CFG telah dihilangkan melalui distilasi.
image_guidance_scale : Diterima untuk kesetaraan API dengan 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; 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 atau tuple.
Jalankan pipeline DreamLite Mobile yang telah di-distil.
DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]]
diffusers.DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]]
diffusers.DreamLitePipelineOutput(images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray])
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.