Diffusers documentation
NucleusMoE-Image
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
< source >( 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
transformerpara 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__
< source >( 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 (
stroulist[str], opcional) — O prompt ou os prompts para orientar a geração da imagem. Se não for definido, é necessário passarprompt_embeds. - negative_prompt (
stroulist[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 quandotrue_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ãoself.default_sample_size * self.vae_scale_factor) — A altura em pixels da imagem gerada. - width (
int, opcional, padrãoself.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.Generatoroulist[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ãoTrue) — Se deve ou não retornar umNucleusMoEImagePipelineOutputem 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çãocallback_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
< source >( 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 (
stroulist[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
< source >( images: list[PIL.Image.Image] | numpy.ndarray )
Classe de saída para pipelines de imagem NucleusMoE.