Buckets:
| # DreamLite | |
| DreamLite es un modelo de texto a imagen y edición de imágenes de ByteDance. Combina un U-Net 2D personalizado (`DreamLiteUNetModel`) con el codificador multimodal `Qwen3-VL` como codificador de prompts / instrucciones de imagen, y utiliza un VAE `AutoencoderTiny` (estilo TAESD) para la codificación y decodificación rápida de latentes. | |
| Se exponen dos pipelines: | |
| | Pipeline | Modos | CFG | Caso de uso | | |
| |---|---|---|---| | |
| | [DreamLitePipeline](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipeline) | texto a imagen **y** edición de imagen (seleccionado automáticamente según si `image` es `None`) | CFG dual de 3 ramas (`guidance_scale` en la rama de texto, `image_guidance_scale` en la rama de imagen, al estilo de InstructPix2Pix) | Máxima calidad | | |
| | [DreamLiteMobilePipeline](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLiteMobilePipeline) | texto a imagen **y** edición de imagen (seleccionado automáticamente según si `image` es `None`) | Ninguna — destilada, un solo paso de UNet por iteración | En el dispositivo / baja latencia | | |
| Puntos de control oficiales: | |
| * Modelo base: [carlofkl/DreamLite-base](https://huggingface.co/carlofkl/DreamLite-base) | |
| * Modelo móvil destilado: [carlofkl/DreamLite-mobile](https://huggingface.co/carlofkl/DreamLite-mobile) | |
| > [!TIP] | |
| > Ambos pipelines detectan automáticamente el modo de texto a imagen frente a edición de imagen según si se proporciona el argumento `image`. No existe una clase `Img2Img` separada. | |
| > [!TIP] | |
| > Al cargar una imagen de entrada para editarla, se prefiere `diffusers.utils.load_image(...)` sobre `PIL.Image.open(...)` sin procesar. `load_image` aplica una conversión a RGB y la orientación EXIF, dos aspectos que el pipeline asume. Un `Image.open` simple de una fuente RGBA / con paleta / rotada por EXIF producirá silenciosamente una condición latente diferente y degradará la calidad de la salida. | |
| ## Texto a imagen (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") | |
| ``` | |
| ## Edición de imágenes (Base) | |
| Pase una `image` para entrar en modo de edición. Tanto `guidance_scale` (rama de texto) como `image_guidance_scale` (rama de imagen) están activos aquí. | |
| ```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 a imagen (móvil) | |
| El pipeline móvil está destilado y omite por completo el CFG: una sola pasada de UNet por paso. Acepta los mismos argumentos `prompt` / `height` / `width` / `num_inference_steps`, pero **ignora** `guidance_scale` y `image_guidance_scale` si se pasan (se registra una advertencia). | |
| ```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") | |
| ``` | |
| ## Edición de imágenes (Móvil) | |
| ```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") | |
| ``` | |
| ## Notas y limitaciones | |
| * Ambos pipelines fuerzan `batch_size = 1` internamente; `num_images_per_prompt` controla cuántas muestras se extraen del mismo prompt, en lugar de realizar un lote en paralelo. | |
| * El codificador de prompts es `Qwen3-VL`, que es un modelo multimodal. Por lo tanto, cargar el pipeline completo requiere suficiente memoria de GPU tanto para la U-Net como para el codificador de texto Qwen3-VL (~4 GB + ~0.7 GB en bf16 para la versión base). | |
| * El VAE es `AutoencoderTiny` y expone `encoder_block_out_channels`; `vae_scale_factor` se deriva de él en el momento de la inicialización de la pipeline. | |
| ## DreamLitePipeline[[diffusers.DreamLitePipeline]] | |
| #### diffusers.DreamLitePipeline[[diffusers.DreamLitePipeline]] | |
| ```python | |
| diffusers.DreamLitePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite.py#L155) | |
| Pipeline DreamLite para la generación de imágenes a partir de texto y la edición de imágenes basada en instrucciones. | |
| El mismo pipeline admite ambos modos; el modo de operación se detecta automáticamente a partir de las entradas: | |
| - `image is None` -> texto a imagen (CFG único en el texto). | |
| - `image is not None` -> imagen a imagen / edición por instrucción (CFG dual: texto + imagen). | |
| Componentes: text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): codificador de texto/visión multimodal utilizado para generar incrustaciones de condicionamiento. tokenizer ([*~transformers.AutoTokenizer*]): tokenizador para el modo solo texto (generate). processor ([*~transformers.Qwen3VLProcessor*]): procesador multimodal para el modo de edición (plantilla de texto + imagen). vae ([*~diffusers.AutoencoderTiny*]): VAE diminuto apto para móviles para codificar/decodificar latentes. unet ([*~diffusers.DreamLiteUNetModel*]): DreamLite UNet (GQA + qk_norm + convoluciones separables en profundidad). scheduler ([*~diffusers.FlowMatchEulerDiscreteScheduler*]): planificador Euler de flow-matching con desplazamiento dinámico. | |
| Nota: `batch_size` se fuerza actualmente a `1`; `num_images_per_prompt` está soportado. | |
| #### __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) | |
| ``` | |
| [Fuente](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 (por defecto, cadena vacía). | |
| image : Imagen de entrada opcional. Si se proporciona, la canalización se ejecuta en modo **edición / imagen a imagen** con guía libre de clasificador dual; de lo contrario, se ejecuta en modo **texto a imagen**. | |
| height : Resolución de salida (altura). El valor predeterminado es `default_sample_size * vae_scale_factor` (1024). El mismo valor predeterminado se aplica tanto en T2I como en I2I; pase un valor explícito para sobrescribirlo. | |
| width : Resolución de salida (ancho). El valor predeterminado es `default_sample_size * vae_scale_factor` (1024). El mismo valor predeterminado se aplica tanto en T2I como en I2I; pase un valor explícito para sobrescribirlo. | |
| guidance_scale : Escala CFG en la rama de texto (ambos modos). | |
| image_guidance_scale : Escala CFG adicional en la rama de imagen (solo en modo de edición). | |
| num_inference_steps : Número de pasos de desruido. | |
| sigmas : Sigmas de FlowMatch explícitos opcionales; por defecto, se utiliza un linspace uniforme. | |
| num_images_per_prompt : Imágenes de salida por indicación (nota: `batch_size` se fuerza a 1). | |
| generator : Generador(es) aleatorio(s). | |
| output_type : `"pil"`, `"np"`, `"pt"` o `"latent"`. | |
| return_dict : Si es True, devuelve un [DreamLitePipelineOutput](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput); en caso contrario, una tupla `(images,)`. | |
| max_sequence_length : Número máximo de tokens del prompt del usuario que se conservan después de eliminar el prefijo de la plantilla de chat. Solo se aplica al modo `generate` (el modo `edit` utiliza el relleno nativo del procesador multimodal). | |
| text_pad_embedding : Embedding aprendido opcional para posiciones enmascaradas. | |
| **Devuelve:** | |
| [DreamLitePipelineOutput](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) o `tuple`. | |
| Ejecuta el 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) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L156) | |
| Pipeline **Mobile** de DreamLite: una variante destilada y sin guía libre de clasificador de [DreamLitePipeline](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipeline) para inferencia rápida en pocos pasos (4 pasos por defecto). | |
| El modo de operación se detecta automáticamente a partir de las entradas (igual que en la pipeline base): | |
| - `image is None` -> texto a imagen. | |
| - `image is not None` -> imagen a imagen / edición por instrucción. | |
| Dado que la guía sin clasificador se **elimina mediante destilación**, `guidance_scale` y `image_guidance_scale` se aceptan por compatibilidad de API con [DreamLitePipeline](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipeline), pero se ignoran en el bucle de desruido. `negative_prompt` está ausente intencionalmente. | |
| Components (idéntico a la pipeline base): text_encoder ([*~transformers.Qwen3VLForConditionalGeneration*]): Codificador multimodal de texto/visión. tokenizer ([*~transformers.AutoTokenizer*]): Tokenizador para el modo solo texto (generate). processor ([*~transformers.Qwen3VLProcessor*]): Procesador multimodal para el modo de edición. vae ([*~diffusers.AutoencoderTiny*]): VAE diminuto apto para móviles. unet ([*~diffusers.DreamLiteUNetModel*]): DreamLite UNet. scheduler ([*~diffusers.FlowMatchEulerDiscreteScheduler*]): Programador de Euler de flow-matching con desplazamiento dinámico. | |
| Nota: `batch_size` se fuerza actualmente a `1`; `num_images_per_prompt` está soportado. | |
| #### __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) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_dreamlite_mobile.py#L384) | |
| **Parámetros:** | |
| prompt : Prompt de texto. | |
| image : Imagen de entrada opcional. Si se proporciona, se ejecuta en modo **edición / imagen a imagen**; de lo contrario, se ejecuta en modo **texto a imagen**. | |
| height : Resolución de salida (altura). El valor predeterminado es `default_sample_size * vae_scale_factor` (1024). | |
| width : Resolución de salida (ancho). El valor predeterminado es `default_sample_size * vae_scale_factor` (1024). | |
| num_inference_steps : Número de pasos de desruido. El valor predeterminado es **4** (destilado). | |
| guidance_scale : Aceptado por paridad de API con [DreamLitePipeline](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipeline); **ignorado** porque CFG se destiló. | |
| image_guidance_scale : Aceptado por paridad de API con [DreamLitePipeline](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipeline); **ignorado** porque CFG se destiló. | |
| sigmas : Sigmas de FlowMatch explícitos opcionales; por defecto, se utiliza un linspace uniforme. | |
| num_images_per_prompt : Imágenes de salida por indicación (nota: `batch_size` se fuerza a 1). | |
| generator : Generador(es) aleatorio(s). | |
| output_type : `"pil"`, `"np"`, `"pt"` o `"latent"`. | |
| return_dict : Si es True, devuelve un [DreamLitePipelineOutput](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput); en caso contrario, `(images,)`. | |
| max_sequence_length : Número máximo de tokens del prompt del usuario que se conservan después de eliminar el prefijo de la plantilla de chat. Solo se aplica al modo `generate` (el modo `edit` utiliza el relleno nativo del procesador multimodal). | |
| text_pad_embedding : Embedding aprendido opcional para posiciones enmascaradas. | |
| **Devuelve:** | |
| [DreamLitePipelineOutput](/docs/diffusers/main/es/api/pipelines/dreamlite#diffusers.DreamLitePipelineOutput) o `tuple`. | |
| Ejecuta el pipeline de DreamLite Mobile destilado. | |
| ## DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]] | |
| #### diffusers.DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]] | |
| ```python | |
| diffusers.DreamLitePipelineOutput(images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray]) | |
| ``` | |
| [Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/dreamlite/pipeline_output.py#L25) | |
| **Parámetros:** | |
| images (`List[PIL.Image.Image]` o `np.ndarray`) : Lista de imágenes PIL desruidas de longitud `batch_size` o matriz NumPy de forma `(batch_size, height, width, num_channels)`. Las imágenes PIL o la matriz NumPy presentan las imágenes desruidas del pipeline de difusión. | |
| Clase de salida para las tuberías de DreamLite. | |
Xet Storage Details
- Size:
- 15.4 kB
- Xet hash:
- 2b85c512cd7de18903c47c2c9040833ba8d2fdd85ef6a3763f5984589c2b25e9
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.