Diffusers documentation

NucleusMoE-Image

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

NucleusMoE-Image

NucleusMoE-Image é um modelo de texto para imagem que combina um DiT de fluxo único com camadas feed-forward Mixture-of-Experts, atenção cruzada para um codificador de texto Qwen3-VL e um agendador discreto Euler de flow-matching.

Certifique-se de consultar o guia de Schedulers para aprender a explorar o compromisso entre a velocidade e a qualidade do scheduler, e veja a seção reutilização de componentes entre pipelines para aprender a carregar eficientemente os mesmos componentes em vários pipelines.

NucleusMoEImagePipeline

classe diffusers.NucleusMoEImagePipeline

< >

( transformer: NucleusMoEImageTransformer2DModelscheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen3VLForConditionalGenerationprocessor: Qwen3VLProcessor )

Parâmetros

  • transformer (NucleusMoEImageTransformer2DModel) — Arquitetura de Transformer condicional (MMDiT) para desruidar os latentes da imagem codificada.
  • scheduler (FlowMatchEulerDiscreteScheduler) — Um scheduler a ser usado em combinação com transformer para desruidar os latentes da imagem codificada.
  • vae (AutoencoderKLQwenImage) — Modelo de Autoencoder Variacional (VAE) para codificar e decodificar imagens a partir de e para representações latentes.
  • text_encoder (Qwen3VLForConditionalGeneration) — Codificador de texto para calcular incorporações de prompt.
  • processor (Qwen3VLProcessor) — Processador para tokenizar entradas de texto.

Pipeline para geração de texto para imagem usando NucleusMoE.

Este pipeline usa um DiT de fluxo único com camadas feed-forward de Mixture-of-Experts, atenção cruzada para um codificador de texto Qwen3-VL e um agendador discreto Euler de flow-matching.

__call__

< >

( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Noneguidance_scale: float = 4.0height: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50sigmas: list[float] | None = Nonenum_images_per_prompt: int = 1max_sequence_length: int | None = Nonereturn_index: int | None = Nonegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_embeds_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds_mask: typing.Optional[torch.Tensor] = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Optional[typing.Callable[[int, int, dict], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents'] ) → NucleusMoEImagePipelineOutput or tuple

Parâmetros

  • prompt (str ou list[str], opcional) — O prompt ou os prompts para orientar a geração da imagem. Se não for definido, é necessário passar prompt_embeds.
  • negative_prompt (str ou list[str], opcional) — O prompt ou os prompts que não devem orientar a geração da imagem. Se não definido, uma string vazia é usada quando true_cfg_scale > 1.
  • guidance_scale (float, opcional, padrão 4.0) — Escala de orientação sem classificador. Valores maiores que 1 ativam o CFG.
  • return_index (int, opcional) — Índice da camada da saída do codificador de texto a ser usada para os embeddings do prompt.
  • height (int, opcional, padrão self.default_sample_size * self.vae_scale_factor) — A altura em pixels da imagem gerada.
  • width (int, opcional, padrão self.default_sample_size * self.vae_scale_factor) — A largura, em pixels, da imagem gerada.
  • num_inference_steps (int, opcional, padrão 50) — O número de etapas de remoção de ruído.
  • sigmas (list[float], opcional) — Sigmas personalizados para o agendamento de desruidamento. Se não definido, um agendamento linear é utilizado.
  • num_images_per_prompt (int, opcional, padrão 1) — O número de imagens a serem geradas por prompt.
  • generator (torch.Generator ou list[torch.Generator], opcional) — Um ou uma lista de geradores torch para tornar a geração determinística.
  • latents (torch.Tensor, opcional) — Latentes ruidosos pré-gerados para serem usados como entradas para a geração de imagens.
  • prompt_embeds (torch.Tensor, opcional) — Incorporações de texto pré-geradas.
  • prompt_embeds_mask (torch.Tensor, opcional) — Máscara de atenção para embeddings de texto pré-gerados.
  • negative_prompt_embeds (torch.Tensor, opcional) — Incorporações de texto negativo pré-geradas.
  • negative_prompt_embeds_mask (torch.Tensor, opcional) — Máscara de atenção para embeddings de texto negativos pré-gerados.
  • output_type (str, opcional, padrão "pil") — O formato de saída da imagem gerada. Escolha entre "pil", "np" ou "latent".
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um NucleusMoEImagePipelineOutput em vez de uma tupla simples.
  • attention_kwargs (dict, opcional) — Kwargs passados ao processador de atenção.
  • callback_on_step_end (Callable, opcional) — Uma função chamada no final de cada etapa de desruidamento.
  • callback_on_step_end_tensor_inputs (list, opcional) — Entradas de tensor para a função callback_on_step_end.
  • max_sequence_length (int, padrão 512) — Comprimento máximo da sequência para o prompt de texto.

Retorna

NucleusMoEImagePipelineOutput ou tuple

NucleusMoEImagePipelineOutput se return_dict for True, caso contrário, uma tuple em que o primeiro elemento é uma lista com as imagens geradas.

Função invocada ao chamar o pipeline para geração.

Exemplos:

>>> import torch
>>> from diffusers import NucleusMoEImagePipeline

>>> pipe = NucleusMoEImagePipeline.from_pretrained("NucleusAI/NucleusMoE-Image", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "A cat holding a sign that says hello world"
>>> image = pipe(prompt, num_inference_steps=50).images[0]
>>> image.save("nucleus_moe.png")

encode_prompt

< >

( prompt: str | list[str] = Nonedevice: typing.Optional[torch.device] = Nonenum_images_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_embeds_mask: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int | None = Nonereturn_index: int | None = None )

Parâmetros

  • prompt (str ou list[str], opcional) — O prompt ou os prompts a serem codificados.
  • device (torch.device, opcional) — Dispositivo Torch para os tensores resultantes.
  • num_images_per_prompt (int, padrão 1) — Número de imagens a serem geradas por prompt.
  • prompt_embeds (torch.Tensor, opcional) — Incorporações de texto pré-geradas. Pula a codificação quando fornecidas.
  • prompt_embeds_mask (torch.Tensor, opcional) — Máscara de atenção para incorporações pré-geradas.
  • max_sequence_length (int, padrão 1024) — Comprimento máximo de tokens para o prompt codificado.

Codifique os prompts de texto em embeddings usando o codificador de texto do Qwen3-VL.

NucleusMoEImagePipelineOutput

classe diffusers.pipelines.nucleusmoe_image.pipeline_output.NucleusMoEImagePipelineOutput

< >

( images: list[PIL.Image.Image] | numpy.ndarray )

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 de imagem NucleusMoE.

Update on GitHub