Buckets:
| # DreamLite | |
| DreamLite é um modelo de texto para imagem e edição de imagem da ByteDance. Ele combina um U-Net 2D personalizado (`DreamLiteUNetModel`) com o codificador multimodal `Qwen3-VL` como codificador de prompt/instrução de imagem e utiliza um VAE `AutoencoderTiny` (estilo TAESD) para codificação/decodificação latente rápida. | |
| Dois pipelines são expostos: | |
| | Pipeline | Modos | CFG | Caso de uso | | |
| |---|---|---|---| | |
| | [DreamLitePipeline](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipeline) | texto-para-imagem **e** edição de imagem (selecionado automaticamente com base em `image` ser `None`) | CFG duplo de 3 ramos (`guidance_scale` no ramo de texto, `image_guidance_scale` no ramo de imagem, à la InstructPix2Pix) | Maior qualidade | | |
| | [DreamLiteMobilePipeline](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLiteMobilePipeline) | texto-para-imagem **e** edição de imagem (selecionado automaticamente com base em `image` ser `None`) | Nenhum — destilado, um único forward do UNet por etapa | No dispositivo / baixa latência | | |
| Pontos de verificação oficiais: | |
| * Modelo base: [carlofkl/DreamLite-base](https://huggingface.co/carlofkl/DreamLite-base) | |
| * Modelo mobile destilado: [carlofkl/DreamLite-mobile](https://huggingface.co/carlofkl/DreamLite-mobile) | |
| > [!TIP] | |
| > Ambos os pipelines detectam automaticamente o modo de texto-para-imagem versus edição de imagem com base em se o argumento `image` é fornecido. Não há uma classe `Img2Img` separada. | |
| > [!TIP] | |
| > Ao carregar uma imagem de entrada para edição, prefira `diffusers.utils.load_image(...)` em vez do bruto `PIL.Image.open(...)`. `load_image` impõe uma conversão para RGB e aplica a orientação EXIF, ambas as quais o pipeline pressupõe. Um simples `Image.open` de uma fonte RGBA / paleta / rotacionada por EXIF produzirá silenciosamente uma condição latente diferente e degradará a qualidade da saída. | |
| ## Texto para imagem (Base) | |
| ```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") | |
| ``` | |
| ## Edição de imagens (Base) | |
| Passe uma `image` para entrar no modo de edição. Tanto o `guidance_scale` (ramo de texto) quanto o `image_guidance_scale` (ramo de imagem) estão ativos aqui. | |
| ```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") | |
| ``` | |
| ## Texto para imagem (Mobile) | |
| O pipeline mobile é destilado e ignora completamente o CFG — uma única passagem do UNet por etapa. Ele aceita os mesmos argumentos `prompt` / `height` / `width` / `num_inference_steps`, mas **ignora** `guidance_scale` e `image_guidance_scale` se forem passados (um aviso é registrado). | |
| ```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") | |
| ``` | |
| ## Edição de imagens (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") | |
| ``` | |
| ## Observações e limitações | |
| * Ambos os pipelines forçam `batch_size = 1` internamente; `num_images_per_prompt` controla quantas amostras são extraídas do mesmo prompt, em vez de fazer loteamento paralelo. | |
| * O codificador de prompt é `Qwen3-VL`, que é um modelo multimodal. Carregar o pipeline completo, portanto, requer memória de GPU suficiente para o U-Net e o codificador de texto Qwen3-VL (~4 GB + ~0,7 GB em bf16 para a versão base). | |
| * O VAE é `AutoencoderTiny` e expõe `encoder_block_out_channels`; `vae_scale_factor` é derivado dele no momento da inicialização do pipeline. | |
| ## DreamLitePipeline[[diffusers.DreamLitePipeline]] | |
| #### diffusers.DreamLitePipeline[[diffusers.DreamLitePipeline]] | |
| ```python | |
| diffusers.DreamLitePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L155) | |
| Pipeline DreamLite para geração de imagem a partir de texto e edição de imagem baseada em instruções. | |
| O mesmo pipeline suporta ambos os modos; o modo de operação é detectado automaticamente a partir das entradas: | |
| - `image is None` -> texto-para-imagem (CFG único no texto). | |
| - `image is not None` -> imagem-para-imagem / edição por instrução (CFG duplo: texto + imagem). | |
| Componentes: text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): codificador de texto/visão multimodal usado para produzir embeddings de condicionamento. tokenizer ([*~transformers.AutoTokenizer*]): tokenizador para o modo apenas texto (generate). processor ([*~transformers.Qwen3VLProcessor*]): processador multimodal para o modo de edição (modelo de texto + imagem). vae ([*~diffusers.AutoencoderTiny*]): VAE minúsculo compatível com dispositivos móveis para codificação/decodificação latente. unet ([*~diffusers.DreamLiteUNetModel*]): UNet DreamLite (GQA + qk_norm + convoluções separáveis em profundidade). scheduler ([*~diffusers.FlowMatchEulerDiscreteScheduler*]): agendador Euler de flow-matching com deslocamento dinâmico. | |
| Nota: `batch_size` é atualmente forçado para `1`; `num_images_per_prompt` é compatível. | |
| #### __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) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L388) | |
| **Parâmetros:** | |
| prompt : Prompt de texto. | |
| negative_prompt : Prompt de texto negativo (padrão: string vazia). | |
| image : Imagem de entrada opcional. Se fornecida, o pipeline é executado no modo **edit / image-to-image** com orientação livre de classificador dupla; caso contrário, é executado no modo **text-to-image**. | |
| height : Resolução de saída (altura). O padrão é `default_sample_size * vae_scale_factor` (1024). O mesmo padrão se aplica tanto em T2I quanto em I2I; passe um valor explícito para sobrescrever. | |
| width : Resolução de saída (largura). O padrão é `default_sample_size * vae_scale_factor` (1024). O mesmo padrão se aplica tanto em T2I quanto em I2I; passe um valor explícito para sobrescrever. | |
| guidance_scale : escala CFG no ramo de texto (ambos os modos). | |
| image_guidance_scale : Escala CFG adicional no ramo da imagem (somente no modo de edição). | |
| num_inference_steps : Número de etapas de desruidamento. | |
| sigmas : Sigmas explícitos opcionais de FlowMatch; o padrão é um linspace uniforme. | |
| num_images_per_prompt : Imagens de saída por prompt (observação: `batch_size` é forçado para 1). | |
| generator : Gerador(es) aleatório(s). | |
| output_type : `"pil"`, `"np"`, `"pt"` ou `"latent"`. | |
| return_dict : Se True, retorna um [DreamLitePipelineOutput](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput); caso contrário, uma tupla `(images,)`. | |
| max_sequence_length : Número máximo de tokens do prompt do usuário mantidos após a remoção do prefixo do modelo de chat. Aplica-se apenas ao modo `generate` (o modo `edit` usa o padding nativo do processador multimodal). | |
| text_pad_embedding : Embedding aprendido opcional para posições mascaradas. | |
| **Retorna:** | |
| [DreamLitePipelineOutput](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) ou `tuple`. | |
| Execute o 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) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L156) | |
| Pipeline **Mobile** do DreamLite: uma variante destilada, sem classifier-free guidance, do [DreamLitePipeline](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipeline) para inferência rápida em poucas etapas (padrão: 4 etapas). | |
| O modo de operação é detectado automaticamente a partir das entradas (da mesma forma que no pipeline base): | |
| - `image is None` -> texto para imagem. | |
| - `image is not None` -> imagem-para-imagem / edição por instrução. | |
| Como o classifier-free guidance é **destilado**, `guidance_scale` e `image_guidance_scale` são aceitos por paridade de API com [DreamLitePipeline](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipeline), mas são ignorados no loop de desruidamento. `negative_prompt` está intencionalmente ausente. | |
| Components (idêntico ao pipeline base): text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): Codificador multimodal de texto/visão. tokenizer ([*~transformers.AutoTokenizer*]): Tokenizer para o modo apenas texto (generate). processor ([*~transformers.Qwen3VLProcessor*]): Processador multimodal para o modo de edição. vae ([*~diffusers.AutoencoderTiny*]): VAE minúsculo compatível com dispositivos móveis. unet ([*~diffusers.DreamLiteUNetModel*]): DreamLite UNet. scheduler ([*~diffusers.FlowMatchEulerDiscreteScheduler*]): Agendador Euler de flow-matching com deslocamento dinâmico. | |
| Note: `batch_size` is currently forced to `1`; `num_images_per_prompt` is supported. | |
| #### __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) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L384) | |
| **Parâmetros:** | |
| prompt : Prompt de texto. | |
| image : Imagem de entrada opcional. Se fornecida, executa no modo **edit / image-to-image**; caso contrário, executa no modo **text-to-image**. | |
| height : Resolução de saída (altura). O padrão é `default_sample_size * vae_scale_factor` (1024). | |
| width : Resolução de saída (largura). O padrão é `default_sample_size * vae_scale_factor` (1024). | |
| num_inference_steps : Número de etapas de desruidamento. O padrão é **4** (destilado). | |
| guidance_scale : Aceito para paridade de API com [DreamLitePipeline](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipeline); **ignorado** porque o CFG foi destilado. | |
| image_guidance_scale : Aceito para paridade de API com [DreamLitePipeline](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipeline); **ignorado** porque o CFG foi destilado. | |
| sigmas : Sigmas explícitos opcionais de FlowMatch; o padrão é um linspace uniforme. | |
| num_images_per_prompt : Imagens de saída por prompt (observação: `batch_size` é forçado para 1). | |
| generator : Gerador(es) aleatório(s). | |
| output_type : `"pil"`, `"np"`, `"pt"` ou `"latent"`. | |
| return_dict : Se True, retorna um [DreamLitePipelineOutput](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput); caso contrário, `(images,)`. | |
| max_sequence_length : Número máximo de tokens do prompt do usuário mantidos após a remoção do prefixo do modelo de chat. Aplica-se apenas ao modo `generate` (o modo `edit` usa o padding nativo do processador multimodal). | |
| text_pad_embedding : Embedding aprendido opcional para posições mascaradas. | |
| **Retorna:** | |
| [DreamLitePipelineOutput](/docs/diffusers/main/pt/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) ou `tuple`. | |
| Execute o pipeline DreamLite Mobile destilado. | |
| ## DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]] | |
| #### diffusers.DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]] | |
| ```python | |
| diffusers.DreamLitePipelineOutput(images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray]) | |
| ``` | |
| [Fonte](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_output.py#L25) | |
| **Parâmetros:** | |
| images (`List[PIL.Image.Image]` ou `np.ndarray`) : Lista de imagens PIL desruidas de comprimento `batch_size` ou array NumPy de forma `(batch_size, height, width, num_channels)`. As imagens PIL ou o array NumPy apresentam as imagens desruidas do pipeline de difusão. | |
| Classe de saída para pipelines do DreamLite. | |
Xet Storage Details
- Size:
- 15.2 kB
- Xet hash:
- e5b44b257af9c8e6f26e1224eeae5fd132a4673a8f1d160983b57e42a8a8204e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.