Diffusers documentation
NucleusMoE-Image
NucleusMoE-Image
NucleusMoE-Image, tek akışlı bir DiT'yi Mixture-of-Experts ileri besleme katmanları, Qwen3-VL metin kodlayıcısına çapraz dikkat ve flow-matching Euler ayrık zamanlayıcı ile eşleştiren bir metinden görüntüye modelidir.
Scheduler'lar kılavuzunu inceleyerek scheduler hızı ve kalitesi arasındaki ödünleşimi nasıl keşfedebileceğinizi öğrenin ve aynı bileşenleri birden fazla pipeline'a nasıl verimli bir şekilde yükleyebileceğinizi öğrenmek için pipeline'lar arasında bileşenleri yeniden kullanma bölümüne göz atın.
NucleusMoEImagePipeline
sınıf diffusers.NucleusMoEImagePipeline
< source >( transformer: NucleusMoEImageTransformer2DModelscheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen3VLForConditionalGenerationprocessor: Qwen3VLProcessor )
Parametreler
- transformer (
NucleusMoEImageTransformer2DModel) — Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi. - scheduler (FlowMatchEulerDiscreteScheduler) —
Kodlanmış görüntü latentlerini gürültüden arındırmak için
transformerile birlikte kullanılacak bir zamanlayıcı. - vae (AutoencoderKLQwenImage) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen3VLForConditionalGeneration) — İstem gömme hesaplamaları için metin kodlayıcı. - processor (
Qwen3VLProcessor) — Metin girdilerini belirteçleştirmek için işleyici.
NucleusMoE kullanılarak metinden görüntüye üretim için Pipeline.
Bu pipeline, tek akışlı bir DiT, Mixture-of-Experts ileri besleme katmanları, Qwen3-VL metin kodlayıcısına çapraz dikkat ve bir flow-matching Euler ayrık zamanlayıcı kullanır.
__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
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysaprompt_embedsparametresinin geçirilmesi gerekir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmamışsa,true_cfg_scale > 1olduğunda boş bir dize kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan 4.0) — Sınıflandırıcı-ücretsiz yönlendirme ölçeği. 1'den büyük değerler CFG'yi etkinleştirir. - return_index (
int, isteğe bağlı) — İstem gömmelemeleri için kullanılacak metin kodlayıcı çıktısının katman indeksi. - height (
int, isteğe bağlı, varsayılanself.default_sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. - width (
int, isteğe bağlı, varsayılanself.default_sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. - sigmas (
list[float], isteğe bağlı) — Gürültü azaltma zamanlaması için özel sigmalar. Tanımlanmamışsa, doğrusal bir zamanlama kullanılır. - num_images_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her istem için oluşturulacak görsel sayısı. - generator (
torch.Generatorveyalist[torch.Generator], isteğe bağlı) — Üretimi deterministik hale getirmek için bir veya birden fazla torch üreteci. - latents (
torch.Tensor, isteğe bağlı) — Görsel üretimde girdi olarak kullanılacak önceden oluşturulmuş gürültülü latensler. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) — Önceden oluşturulan metin gömme vektörleri için dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme vektörleri için dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Oluşturulan görüntünün çıktı biçimi."pil","np"veya"latent"arasında seçim yapın. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerineNucleusMoEImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Dikkat işlemcisine aktarılan kwargs. - callback_on_step_end (
Callable, isteğe bağlı) — Her gürültü azaltma adımının sonunda çağrılan bir işlev. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörleri. - max_sequence_length (
int, varsayılan 512) — Metin istemi için maksimum dizi uzunluğu.
Dönüş değeri
NucleusMoEImagePipelineOutput veya tuple
return_dict True ise NucleusMoEImagePipelineOutput, aksi halde ilk öğesi üretilen görüntülerin listesi olan bir tuple.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> 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 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Kodlanacak istem veya istemler. - device (
torch.device, isteğe bağlı) — Sonuç olarak elde edilen tensörler için Torch cihazı. - num_images_per_prompt (
int, varsayılan 1) — Her istem için oluşturulacak görsel sayısı. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömümleri. Sağlandığında kodlamayı atlar. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) — Önceden oluşturulan gömme vektörleri için dikkat maskesi. - max_sequence_length (
int, varsayılan 1024) — Kodlanmış istem için maksimum jeton uzunluğu.
Qwen3-VL metin kodlayıcısını kullanarak metin istemlerini gömme (embedding) olarak kodlayın.
NucleusMoEImagePipelineOutput
sınıf diffusers.pipelines.nucleusmoe_image.pipeline_output.NucleusMoEImagePipelineOutput
< source >( images: list[PIL.Image.Image] | numpy.ndarray )
Parametreler
NucleusMoE Görsel boru hatları için çıktı sınıfı.