Diffusers documentation
QwenImage
QwenImage
Qwen ekibinden Qwen-Image, Qwen serisinde karmaşık metin işleme ve hassas görüntü düzenleme alanlarında önemli ilerlemeler sağlayan bir görüntü oluşturma temel modelidir. Deneyler, hem görüntü oluşturma hem de düzenleme konusunda güçlü genel yetenekler gösterdiğini, özellikle Çin dili için metin işlemede olağanüstü performans sergilediğini ortaya koymaktadır.
Qwen-Image aşağıdaki varyantlarda gelir:
| model türü | model kimliği |
|---|---|
| Qwen-Image | Qwen/Qwen-Image |
| Qwen-Image-Edit | Qwen/Qwen-Image-Edit |
| Qwen-Image-Edit Plus | Qwen/Qwen-Image-Edit-2509 |
Ara çıktıları depolayarak ve yeniden kullanarak çıkarımı hızlandırmak için Önbellekleme kılavuzuna bakın.
Daha hızlı çıkarım için LoRA
lightx2v/Qwen-Image-Lightning kaynaklı bir LoRA kullanarak adım sayısını azaltmak ve çıkarımı hızlandırmak için aşağıdaki kod parçasına bakın:
Code
from diffusers import DiffusionPipeline, FlowMatchEulerDiscreteScheduler
import torch
import math
ckpt_id = "Qwen/Qwen-Image"
# From
# https://github.com/ModelTC/Qwen-Image-Lightning/blob/342260e8f5468d2f24d084ce04f55e101007118b/generate_with_diffusers.py#L82C9-L97C10
scheduler_config = {
"base_image_seq_len": 256,
"base_shift": math.log(3), # We use shift=3 in distillation
"invert_sigmas": False,
"max_image_seq_len": 8192,
"max_shift": math.log(3), # We use shift=3 in distillation
"num_train_timesteps": 1000,
"shift": 1.0,
"shift_terminal": None, # set shift_terminal to None
"stochastic_sampling": False,
"time_shift_type": "exponential",
"use_beta_sigmas": False,
"use_dynamic_shifting": True,
"use_exponential_sigmas": False,
"use_karras_sigmas": False,
}
scheduler = FlowMatchEulerDiscreteScheduler.from_config(scheduler_config)
pipe = DiffusionPipeline.from_pretrained(
ckpt_id, scheduler=scheduler, dtype=torch.bfloat16
).to("cuda") # or "mps", "xpu", "cpu"
pipe.load_lora_weights(
"lightx2v/Qwen-Image-Lightning", weight_name="Qwen-Image-Lightning-8steps-V1.0.safetensors"
)
prompt = "a tiny astronaut hatching from an egg on the moon, Ultra HD, 4K, cinematic composition."
negative_prompt = " "
image = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
width=1024,
height=1024,
num_inference_steps=8,
true_cfg_scale=1.0,
generator=torch.manual_seed(0),
).images[0]
image.save("qwen_fewsteps.png")Pipeline'daki
guidance_scaleparametresi, ileride çıkacak guidance-distilled modelleri desteklemek için orada durmaktadır. Dikkat edin, pipeline'aguidance_scalegeçirmek etkisizdir. Classifier-free guidance'ı etkinleştirmek için lütfentrue_cfg_scalevenegative_prompt(” ” gibi boş bir negatif prompt bile) geçirin; bu, classifier-free guidance hesaplamalarını etkinleştirmelidir.
QwenImageEditPlusPipeline ile çoklu görüntü referansı
QwenImageEditPlusPipeline ile birden fazla görüntü girdi referansı olarak sağlanabilir.
import torch
from PIL import Image
from diffusers import QwenImageEditPlusPipeline
from diffusers.utils import load_image
pipe = QwenImageEditPlusPipeline.from_pretrained(
"Qwen/Qwen-Image-Edit-2509", dtype=torch.bfloat16
).to("cuda") # or "mps", "xpu", "cpu"
image_1 = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/grumpy.jpg")
image_2 = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/peng.png")
image = pipe(
image=[image_1, image_2],
prompt='''put the penguin and the cat at a game show called "Qwen Edit Plus Games"''',
num_inference_steps=50
).images[0]Performans
torch.compile
Dönüştürücüde torch.compile kullanmak ~2.4x hızlanma sağlar (A100 80GB: 4.70s → 1.93s):
import torch
from diffusers import QwenImagePipeline
pipe = QwenImagePipeline.from_pretrained("Qwen/Qwen-Image", dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu"
pipe.transformer = torch.compile(pipe.transformer)
# First call triggers compilation (~7s overhead)
# Subsequent calls run at ~2.4x faster
image = pipe("a cat", num_inference_steps=50).images[0]Değişken Uzunlukta İfadelerle Toplu Çıkarım
Farklı uzunluklarda istemlerle classifier-free guidance (CFG) kullanıldığında, pipeline, attention masking yoluyla padding'i doğru şekilde işler. Bu, padding token'larının üretilen çıktıyı etkilememesini sağlar.
# CFG with different prompt lengths works correctly
image = pipe(
prompt="A cat",
negative_prompt="blurry, low quality, distorted",
true_cfg_scale=3.5,
num_inference_steps=50,
).images[0]Ayrıntılı kıyaslama betikleri ve sonuçları için bu gist'e bakın.
QwenImagePipeline
sınıf diffusers.QwenImagePipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizertransformer: QwenImageTransformer2DModel )
Parametreler
- transformer (QwenImageTransformer2DModel) — 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 (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, özellikle Qwen2.5-VL-7B-Instruct varyantı. - tokenizer (
Qwen2Tokenizer) — https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2Tokenizer sınıfının Tokenizer'ı
Metinden görüntüye üretim için QwenImage hattı.
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonetrue_cfg_scale: float = 4.0height: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = Nonenum_images_per_prompt: int = 1generator: 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], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~pipelines.qwenimage.QwenImagePipelineOutput or tuple
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsgeçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yanitrue_cfg_scale,1'den büyük değilse yok sayılır). - true_cfg_scale (
float, isteğe bağlı, varsayılan 1.0) — Classifier-Free Diffusion Guidance makalesinde tanımlanan yönlendirme ölçeği.true_cfg_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Classifier-free guidance,true_cfg_scale > 1olarak ayarlanarak ve birnegative_promptsağlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. - height (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - width (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. - sigmas (
list[float], isteğe bağlı) —set_timestepsyöntemlerindesigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan None) — Guidance distille edilmiş modeller için bir guidance scale değeri. Geleneksel classifier-free guidance'dan farklı olarak, guidance scale'in çıkarım sırasında gürültü tahmini yeniden ölçeklendirmesi yoluyla uygulandığı bu yöntemde, guidance distille edilmiş modeller guidance scale'i doğrudan forward pass sırasında bir giriş parametresi olarak alır. Guidance scale,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale,promptile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. Pipeline'daki bu parametre, gelecekte ortaya çıkacak guidance-distille edilmiş modelleri desteklemek için orada durmaktadır. Guidance distille edilmiş modeller kullanılmadığında yok sayılır. Geleneksel classifier-free guidance'i etkinleştirmek için lütfentrue_cfg_scale > 1.0venegative_prompt(boş bir negatif prompt bile, örneğin ” ”, classifier-free guidance hesaplamalarını etkinleştirmelidir) iletin. - 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 torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —prompt_embedsiçin dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —negative_prompt_embedsiçin dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.qwenimage.QwenImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan 512) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.qwenimage.QwenImagePipelineOutput veya tuple
return_dict True ise ~pipelines.qwenimage.QwenImagePipelineOutput, aksi halde tuple. Tuple döndürülürken, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers import QwenImagePipeline
>>> pipe = QwenImagePipeline.from_pretrained("Qwen/Qwen-Image", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "A cat holding a sign that says hello world"
>>> # Depending on the variant being used, the pipeline call will slightly vary.
>>> # Refer to the pipeline documentation for more details.
>>> image = pipe(prompt, num_inference_steps=50).images[0]
>>> image.save("qwenimage.png")encode_prompt
< source >( prompt: str | list[str]device: 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 = 1024 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - device — (
torch.device): torch cihazı - num_images_per_prompt (
int) — her prompt için oluşturulacak görsel sayısı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur.
QwenImageImg2ImgPipeline
sınıf diffusers.QwenImageImg2ImgPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizertransformer: QwenImageTransformer2DModel )
Parametreler
- transformer (QwenImageTransformer2DModel) — 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 (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, özellikle Qwen2.5-VL-7B-Instruct varyantı. - tokenizer (
Qwen2Tokenizer) — https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2Tokenizer sınıfının Tokenizer'ı
Metinden görüntüye üretim için QwenImage hattı.
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonetrue_cfg_scale: float = 4.0image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = Noneheight: int | None = Nonewidth: int | None = Nonestrength: float = 0.6num_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = Nonenum_images_per_prompt: int = 1generator: 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], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~pipelines.qwenimage.QwenImagePipelineOutput or tuple
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsgeçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yanitrue_cfg_scale,1'den büyük değilse yok sayılır). - image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image]veyalist[np.ndarray]) — Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil edenImage, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı[0, 1]arasındadır. Tensör veya tensör listesi ise beklenen şekil(B, C, H, W)veya(C, H, W)olmalıdır. Numpy dizisi veya dizi listesi ise beklenen şekil(B, H, W, C)veya(H, W, C)olmalıdır. Ayrıca görüntü latentlerini deimageolarak kabul edebilir, ancak latentler doğrudan geçirilirse tekrar kodlanmaz. - true_cfg_scale (
float, isteğe bağlı, varsayılan 1.0) — Classifier-Free Diffusion Guidance makalesinde tanımlanan yönlendirme ölçeği.true_cfg_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Classifier-free guidance,true_cfg_scale > 1olarak ayarlanarak ve birnegative_promptsağlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. - height (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - width (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - strength (
float, isteğe bağlı, varsayılan 1.0) — Referansimage'in dönüştürülme derecesini belirtir. 0 ile 1 arasında olmalıdır.imagebir başlangıç noktası olarak kullanılır vestrengthdeğeri arttıkça daha fazla gürültü eklenir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır.strength1 olduğunda eklenen gürültü maksimumdur ve gürültü azaltma süreci,num_inference_stepsiçinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri,image'i temelde yok sayar. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. - sigmas (
list[float], isteğe bağlı) —set_timestepsyöntemlerindesigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan None) — Guidance distille edilmiş modeller için bir guidance scale değeri. Geleneksel classifier-free guidance'dan farklı olarak, guidance scale'in çıkarım sırasında gürültü tahmini yeniden ölçeklendirmesi yoluyla uygulandığı bu yöntemde, guidance distille edilmiş modeller guidance scale'i doğrudan forward pass sırasında bir giriş parametresi olarak alır. Guidance scale,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale,promptile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. Pipeline'daki bu parametre, gelecekte ortaya çıkacak guidance-distille edilmiş modelleri desteklemek için orada durmaktadır. Guidance distille edilmiş modeller kullanılmadığında yok sayılır. Geleneksel classifier-free guidance'i etkinleştirmek için lütfentrue_cfg_scale > 1.0venegative_prompt(boş bir negatif prompt bile, örneğin ” ”, classifier-free guidance hesaplamalarını etkinleştirmelidir) iletin. - 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 torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —prompt_embedsiçin dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —negative_prompt_embedsiçin dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.qwenimage.QwenImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan 512) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.qwenimage.QwenImagePipelineOutput veya tuple
return_dict True ise ~pipelines.qwenimage.QwenImagePipelineOutput, aksi halde tuple. Tuple döndürülürken, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers import QwenImageImg2ImgPipeline
>>> from diffusers.utils import load_image
>>> pipe = QwenImageImg2ImgPipeline.from_pretrained("Qwen/Qwen-Image", torch_dtype=torch.bfloat16)
>>> pipe = pipe.to("cuda")
>>> url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
>>> init_image = load_image(url).resize((1024, 1024))
>>> prompt = "cat wizard, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney"
>>> images = pipe(prompt=prompt, negative_prompt=" ", image=init_image, strength=0.95).images[0]
>>> images.save("qwenimage_img2img.png")encode_prompt
< source >( prompt: str | list[str]device: 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 = 1024 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - device — (
torch.device): torch cihazı - num_images_per_prompt (
int) — her prompt için oluşturulacak görsel sayısı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur.
QwenImageInpaintPipeline
sınıf diffusers.QwenImageInpaintPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizertransformer: QwenImageTransformer2DModel )
Parametreler
- transformer (QwenImageTransformer2DModel) — 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 (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, özellikle Qwen2.5-VL-7B-Instruct varyantı. - tokenizer (
Qwen2Tokenizer) — https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2Tokenizer sınıfının Tokenizer'ı
Metinden görüntüye üretim için QwenImage hattı.
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonetrue_cfg_scale: float = 4.0image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = Nonemask_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = Nonemasked_image_latents: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = Noneheight: int | None = Nonewidth: int | None = Nonepadding_mask_crop: int | None = Nonestrength: float = 0.6num_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = Nonenum_images_per_prompt: int = 1generator: 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], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~pipelines.qwenimage.QwenImagePipelineOutput or tuple
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsgeçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yanitrue_cfg_scale,1'den büyük değilse yok sayılır). - image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image]veyalist[np.ndarray]) — Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil edenImage, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı[0, 1]arasındadır. Tensör veya tensör listesi ise beklenen şekil(B, C, H, W)veya(C, H, W)olmalıdır. Numpy dizisi veya dizi listesi ise beklenen şekil(B, H, W, C)veya(H, W, C)olmalıdır. Ayrıca görüntü latentlerini deimageolarak kabul edebilir, ancak latentler doğrudan geçirilirse tekrar kodlanmaz. - true_cfg_scale (
float, isteğe bağlı, varsayılan 1.0) — Classifier-Free Diffusion Guidance makalesinde tanımlanan yönlendirme ölçeği.true_cfg_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Classifier-free guidance,true_cfg_scale > 1olarak ayarlanarak ve birnegative_promptsağlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. - mask_image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image]veyalist[np.ndarray]) —imageiçin maske uygulanacak bir görüntü partisini temsil edenImage, numpy dizisi veya tensör. Maske içindeki beyaz pikseller yeniden boyanırken siyah pikseller korunur.mask_imagebir PIL görüntüsü ise, kullanılmadan önce tek kanala (parlaklık) dönüştürülür. Numpy dizisi veya pytorch tensörü ise 3 yerine tek bir renk kanalı (L) içermelidir; bu nedenle pytorch tensörü için beklenen şekil(B, 1, H, W),(B, H, W),(1, H, W)veya(H, W)olur. Numpy dizisi için ise beklenen şekiller(B, H, W, 1),(B, H, W),(H, W, 1)veya(H, W)şeklindedir. - masked_image_latents (
torch.Tensor,list[torch.Tensor]) — VAE tarafından üretilenimagegörselini maskelemek için bir görsel partisini temsil edenTensor. Sağlanmazsa, maske latents tensor'ımask_imagetarafından oluşturulur. - height (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - width (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - padding_mask_crop (
int, isteğe bağlı, varsayılanNone) — Görsel ve maskelemeye uygulanacak kırpma için kenar boşluğu boyutu.Noneise görsel ve mask_image üzerinde kırpma uygulanmaz.padding_mask_cropNonedeğilse, önce görselle aynı en-boy oranına sahip ve tüm maskelenmiş alanı içeren dikdörtgen bir bölge bulunur, ardından bu alanpadding_mask_cropdeğerine göre genişletilir. Ardından görsel ve mask_image, inpainting için orijinal görsel boyutuna yeniden boyutlandırılmadan önce genişletilen alana göre kırpılır. Bu, maskelenmiş alanın küçükken görselin büyük olması ve inpainting için alakasız bilgiler (örneğin arka plan) içermesi durumunda faydalıdır. - strength (
float, isteğe bağlı, varsayılan 1.0) — Referansimage'in dönüştürülme derecesini belirtir. 0 ile 1 arasında olmalıdır.imagebir başlangıç noktası olarak kullanılır vestrengthdeğeri arttıkça daha fazla gürültü eklenir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır.strength1 olduğunda eklenen gürültü maksimumdur ve gürültü azaltma süreci,num_inference_stepsiçinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri,image'i temelde yok sayar. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. - sigmas (
list[float], isteğe bağlı) —set_timestepsyöntemlerindesigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan None) — Guidance distille edilmiş modeller için bir guidance scale değeri. Geleneksel classifier-free guidance'dan farklı olarak, guidance scale'in çıkarım sırasında gürültü tahmini yeniden ölçeklendirmesi yoluyla uygulandığı bu yöntemde, guidance distille edilmiş modeller guidance scale'i doğrudan forward pass sırasında bir giriş parametresi olarak alır. Guidance scale,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale,promptile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. Pipeline'daki bu parametre, gelecekte ortaya çıkacak guidance-distille edilmiş modelleri desteklemek için orada durmaktadır. Guidance distille edilmiş modeller kullanılmadığında yok sayılır. Geleneksel classifier-free guidance'i etkinleştirmek için lütfentrue_cfg_scale > 1.0venegative_prompt(boş bir negatif prompt bile, örneğin ” ”, classifier-free guidance hesaplamalarını etkinleştirmelidir) iletin. - 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 torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —prompt_embedsiçin dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —negative_prompt_embedsiçin dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.qwenimage.QwenImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan 512) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.qwenimage.QwenImagePipelineOutput veya tuple
return_dict True ise ~pipelines.qwenimage.QwenImagePipelineOutput, aksi halde tuple. Tuple döndürülürken, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers import QwenImageInpaintPipeline
>>> from diffusers.utils import load_image
>>> pipe = QwenImageInpaintPipeline.from_pretrained("Qwen/Qwen-Image", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "Face of a yellow cat, high resolution, sitting on a park bench"
>>> img_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png"
>>> mask_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png"
>>> source = load_image(img_url)
>>> mask = load_image(mask_url)
>>> image = pipe(prompt=prompt, negative_prompt=" ", image=source, mask_image=mask, strength=0.85).images[0]
>>> image.save("qwenimage_inpainting.png")encode_prompt
< source >( prompt: str | list[str]device: 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 = 1024 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - device — (
torch.device): torch cihazı - num_images_per_prompt (
int) — her prompt için oluşturulacak görsel sayısı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur.
QwenImageEditPipeline
sınıf diffusers.QwenImageEditPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizerprocessor: Qwen2VLProcessortransformer: QwenImageTransformer2DModel )
Parametreler
- transformer (QwenImageTransformer2DModel) — 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 (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, özellikle Qwen2.5-VL-7B-Instruct varyantı. - tokenizer (
Qwen2Tokenizer) — https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2Tokenizer sınıfının Tokenizer'ı
Görsel düzenleme için Qwen-Image-Edit hattı.
__call__
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Noneprompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonetrue_cfg_scale: float = 4.0height: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = Nonenum_images_per_prompt: int = 1generator: 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], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~pipelines.qwenimage.QwenImagePipelineOutput or tuple
Parametreler
- image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image]veyalist[np.ndarray]) — Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil edenImage, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı[0, 1]arasındadır. Tensör veya tensör listesi ise beklenen şekil(B, C, H, W)veya(C, H, W)olmalıdır. Numpy dizisi veya dizi listesi ise beklenen şekil(B, H, W, C)veya(H, W, C)olmalıdır. Ayrıca görüntü latentlerini deimageolarak kabul edebilir, ancak latentler doğrudan geçirilirse tekrar kodlanmaz. - prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsgeçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yanitrue_cfg_scale,1'den büyük değilse yok sayılır). - true_cfg_scale (
float, isteğe bağlı, varsayılan 1.0) — true_cfg_scale (float, isteğe bağlı, varsayılan 1.0): Classifier-Free Diffusion Guidance makalesinde tanımlanan yönlendirme ölçeği.true_cfg_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Classifier-free guidance,true_cfg_scale > 1olarak ayarlanarak ve birnegative_promptsağlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bunun bedeli olarak görsel kalitesinde düşüş yaşanır. - height (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - width (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. - sigmas (
list[float], isteğe bağlı) —set_timestepsyöntemlerindesigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan None) — Guidance distille edilmiş modeller için bir guidance scale değeri. Geleneksel classifier-free guidance'dan farklı olarak, guidance scale'in çıkarım sırasında gürültü tahmini yeniden ölçeklendirmesi yoluyla uygulandığı bu yöntemde, guidance distille edilmiş modeller guidance scale'i doğrudan forward pass sırasında bir giriş parametresi olarak alır. Guidance scale,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale,promptile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. Pipeline'daki bu parametre, gelecekte ortaya çıkacak guidance-distille edilmiş modelleri desteklemek için orada durmaktadır. Guidance distille edilmiş modeller kullanılmadığında yok sayılır. Geleneksel classifier-free guidance'i etkinleştirmek için lütfentrue_cfg_scale > 1.0venegative_prompt(boş bir negatif prompt bile, örneğin ” ”, classifier-free guidance hesaplamalarını etkinleştirmelidir) iletin. - 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 torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —prompt_embedsiçin dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —negative_prompt_embedsiçin dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.qwenimage.QwenImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan 512) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.qwenimage.QwenImagePipelineOutput veya tuple
return_dict True ise ~pipelines.qwenimage.QwenImagePipelineOutput, aksi halde tuple. Tuple döndürülürken, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from PIL import Image
>>> from diffusers import QwenImageEditPipeline
>>> from diffusers.utils import load_image
>>> pipe = QwenImageEditPipeline.from_pretrained("Qwen/Qwen-Image-Edit", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> image = load_image(
... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/yarn-art-pikachu.png"
... ).convert("RGB")
>>> prompt = (
... "Make Pikachu hold a sign that says 'Qwen Edit is awesome', yarn art style, detailed, vibrant colors"
... )
>>> # Depending on the variant being used, the pipeline call will slightly vary.
>>> # Refer to the pipeline documentation for more details.
>>> image = pipe(image, prompt, num_inference_steps=50).images[0]
>>> image.save("qwenimage_edit.png")encode_prompt
< source >( prompt: str | list[str]image: typing.Optional[torch.Tensor] = 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 = 1024 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - image (
torch.Tensor, isteğe bağlı) — kodlanacak görüntü - device — (
torch.device): torch cihazı - num_images_per_prompt (
int) — her prompt için oluşturulacak görsel sayısı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur.
QwenImageEditInpaintPipeline
sınıf diffusers.QwenImageEditInpaintPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizerprocessor: Qwen2VLProcessortransformer: QwenImageTransformer2DModel )
Parametreler
- transformer (QwenImageTransformer2DModel) — 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 (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, özellikle Qwen2.5-VL-7B-Instruct varyantı. - tokenizer (
Qwen2Tokenizer) — https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2Tokenizer sınıfının Tokenizer'ı
Görsel düzenleme için Qwen-Image-Edit hattı.
__call__
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Noneprompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonemask_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = Nonemasked_image_latents: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = Nonetrue_cfg_scale: float = 4.0height: int | None = Nonewidth: int | None = Nonepadding_mask_crop: int | None = Nonestrength: float = 0.6num_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = Nonenum_images_per_prompt: int = 1generator: 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], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~pipelines.qwenimage.QwenImagePipelineOutput or tuple
Parametreler
- image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image]veyalist[np.ndarray]) — Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil edenImage, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı[0, 1]arasındadır. Tensör veya tensör listesi ise beklenen şekil(B, C, H, W)veya(C, H, W)olmalıdır. Numpy dizisi veya dizi listesi ise beklenen şekil(B, H, W, C)veya(H, W, C)olmalıdır. Ayrıca görüntü latentlerini deimageolarak kabul edebilir, ancak latentler doğrudan geçirilirse tekrar kodlanmaz. - prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsgeçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yanitrue_cfg_scale,1'den büyük değilse yok sayılır). - true_cfg_scale (
float, isteğe bağlı, varsayılan 1.0) — true_cfg_scale (float, isteğe bağlı, varsayılan 1.0): Classifier-Free Diffusion Guidance makalesinde tanımlanan yönlendirme ölçeği.true_cfg_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Classifier-free guidance,true_cfg_scale > 1olarak ayarlanarak ve birnegative_promptsağlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bunun bedeli olarak görsel kalitesinde düşüş yaşanır. - mask_image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image]veyalist[np.ndarray]) —imageiçin maske uygulanacak bir görüntü partisini temsil edenImage, numpy dizisi veya tensör. Maske içindeki beyaz pikseller yeniden boyanırken siyah pikseller korunur.mask_imagebir PIL görüntüsü ise, kullanılmadan önce tek kanala (parlaklık) dönüştürülür. Numpy dizisi veya pytorch tensörü ise 3 yerine tek bir renk kanalı (L) içermelidir; bu nedenle pytorch tensörü için beklenen şekil(B, 1, H, W),(B, H, W),(1, H, W)veya(H, W)olur. Numpy dizisi için ise beklenen şekiller(B, H, W, 1),(B, H, W),(H, W, 1)veya(H, W)şeklindedir. - masked_image_latents (
torch.Tensor,list[torch.Tensor]) — VAE tarafından üretilenimagegörselini maskelemek için bir görsel partisini temsil edenTensor. Sağlanmazsa, maske latents tensor'ımask_imagetarafından oluşturulur. - height (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - width (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - padding_mask_crop (
int, isteğe bağlı, varsayılanNone) — Görsel ve maskelemeye uygulanacak kırpma için kenar boşluğu boyutu.Noneise görsel ve mask_image üzerinde kırpma uygulanmaz.padding_mask_cropNonedeğilse, önce görselle aynı en-boy oranına sahip ve tüm maskelenmiş alanı içeren dikdörtgen bir bölge bulunur, ardından bu alanpadding_mask_cropdeğerine göre genişletilir. Ardından görsel ve mask_image, inpainting için orijinal görsel boyutuna yeniden boyutlandırılmadan önce genişletilen alana göre kırpılır. Bu, maskelenmiş alanın küçükken görselin büyük olması ve inpainting için alakasız bilgiler (örneğin arka plan) içermesi durumunda faydalıdır. - strength (
float, isteğe bağlı, varsayılan 1.0) — Referansimage'in dönüştürülme derecesini belirtir. 0 ile 1 arasında olmalıdır.imagebir başlangıç noktası olarak kullanılır vestrengthdeğeri arttıkça daha fazla gürültü eklenir. Gürültü azaltma adımlarının sayısı, başlangıçta eklenen gürültü miktarına bağlıdır.strength1 olduğunda eklenen gürültü maksimumdur ve gürültü azaltma süreci,num_inference_stepsiçinde belirtilen tam tekrar sayısı kadar çalışır. 1 değeri,image'i temelde yok sayar. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. - sigmas (
list[float], isteğe bağlı) —set_timestepsyöntemlerindesigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan None) — Guidance distille edilmiş modeller için bir guidance scale değeri. Geleneksel classifier-free guidance'dan farklı olarak, guidance scale'in çıkarım sırasında gürültü tahmini yeniden ölçeklendirmesi yoluyla uygulandığı bu yöntemde, guidance distille edilmiş modeller guidance scale'i doğrudan forward pass sırasında bir giriş parametresi olarak alır. Guidance scale,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale,promptile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. Pipeline'daki bu parametre, gelecekte ortaya çıkacak guidance-distille edilmiş modelleri desteklemek için orada durmaktadır. Guidance distille edilmiş modeller kullanılmadığında yok sayılır. Geleneksel classifier-free guidance'i etkinleştirmek için lütfentrue_cfg_scale > 1.0venegative_prompt(boş bir negatif prompt bile, örneğin ” ”, classifier-free guidance hesaplamalarını etkinleştirmelidir) iletin. - 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 torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —prompt_embedsiçin dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —negative_prompt_embedsiçin dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.qwenimage.QwenImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan 512) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.qwenimage.QwenImagePipelineOutput veya tuple
return_dict True ise ~pipelines.qwenimage.QwenImagePipelineOutput, aksi halde tuple. Tuple döndürülürken, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from PIL import Image
>>> from diffusers import QwenImageEditInpaintPipeline
>>> from diffusers.utils import load_image
>>> pipe = QwenImageEditInpaintPipeline.from_pretrained("Qwen/Qwen-Image-Edit", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "Face of a yellow cat, high resolution, sitting on a park bench"
>>> img_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png"
>>> mask_url = "https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png"
>>> source = load_image(img_url)
>>> mask = load_image(mask_url)
>>> image = pipe(
... prompt=prompt, negative_prompt=" ", image=source, mask_image=mask, strength=1.0, num_inference_steps=50
... ).images[0]
>>> image.save("qwenimage_inpainting.png")encode_prompt
< source >( prompt: str | list[str]image: typing.Optional[torch.Tensor] = 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 = 1024 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - image (
torch.Tensor, isteğe bağlı) — kodlanacak görüntü - device — (
torch.device): torch cihazı - num_images_per_prompt (
int) — her prompt için oluşturulacak görsel sayısı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur.
QwenImageControlNetPipeline
sınıf diffusers.QwenImageControlNetPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizertransformer: QwenImageTransformer2DModelcontrolnet: diffusers.models.controlnets.controlnet_qwenimage.QwenImageControlNetModel | diffusers.models.controlnets.controlnet_qwenimage.QwenImageMultiControlNetModel )
Parametreler
- transformer (QwenImageTransformer2DModel) — 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 (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, özellikle Qwen2.5-VL-7B-Instruct varyantı. - tokenizer (
Qwen2Tokenizer) — https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2Tokenizer sınıfının Tokenizer'ı
Metinden görüntüye üretim için QwenImage hattı.
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonetrue_cfg_scale: float = 4.0height: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = Nonecontrol_guidance_start: float | list[float] = 0.0control_guidance_end: float | list[float] = 1.0control_image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = Nonecontrolnet_conditioning_scale: float | list[float] = 1.0num_images_per_prompt: int = 1generator: 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], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~pipelines.qwenimage.QwenImagePipelineOutput or tuple
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsgeçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yanitrue_cfg_scale,1'den büyük değilse yok sayılır). - true_cfg_scale (
float, isteğe bağlı, varsayılan 1.0) — Classifier-Free Diffusion Guidance makalesinde tanımlanan yönlendirme ölçeği.true_cfg_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Classifier-free guidance,true_cfg_scale > 1olarak ayarlanarak ve birnegative_promptsağlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. - height (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - width (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. - sigmas (
list[float], isteğe bağlı) —set_timestepsyöntemlerindesigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan None) — Guidance distille edilmiş modeller için bir guidance scale değeri. Geleneksel classifier-free guidance'dan farklı olarak, guidance scale'in çıkarım sırasında gürültü tahmini yeniden ölçeklendirmesi yoluyla uygulandığı bu yöntemde, guidance distille edilmiş modeller guidance scale'i doğrudan forward pass sırasında bir giriş parametresi olarak alır. Guidance scale,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale,promptile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. Pipeline'daki bu parametre, gelecekte ortaya çıkacak guidance-distille edilmiş modelleri desteklemek için orada durmaktadır. Guidance distille edilmiş modeller kullanılmadığında yok sayılır. Geleneksel classifier-free guidance'i etkinleştirmek için lütfentrue_cfg_scale > 1.0venegative_prompt(boş bir negatif prompt bile, örneğin ” ”, classifier-free guidance hesaplamalarını etkinleştirmelidir) iletin. - control_guidance_start (
floatveyalist[float], isteğe bağlı, varsayılan 0.0) — ControlNet'in uygulamaya başladığı toplam adım yüzdesi. - control_guidance_end (
floatveyalist[float], isteğe bağlı, varsayılan 1.0) — ControlNet'in uygulamayı durdurduğu toplam adımların yüzdesi. - control_image (
PipelineImageInput, isteğe bağlı) — Üretim için yönlendirme sağlamak üzere sağlanan ControlNet giriş koşulu. - controlnet_conditioning_scale (
floatveyalist[float], isteğe bağlı, varsayılan 1.0) — ControlNet çıktıları, orijinaltransformer'daki artıma eklenmeden öncecontrolnet_conditioning_scaleile çarpı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 torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —prompt_embedsiçin dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —negative_prompt_embedsiçin dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.qwenimage.QwenImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan 512) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.qwenimage.QwenImagePipelineOutput veya tuple
return_dict True ise ~pipelines.qwenimage.QwenImagePipelineOutput, aksi halde tuple. Tuple döndürülürken, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers.utils import load_image
>>> from diffusers import QwenImageControlNetModel, QwenImageMultiControlNetModel, QwenImageControlNetPipeline
>>> # QwenImageControlNetModel
>>> controlnet = QwenImageControlNetModel.from_pretrained(
... "InstantX/Qwen-Image-ControlNet-Union", torch_dtype=torch.bfloat16
... )
>>> pipe = QwenImageControlNetPipeline.from_pretrained(
... "Qwen/Qwen-Image", controlnet=controlnet, torch_dtype=torch.bfloat16
... )
>>> pipe.to("cuda")
>>> prompt = "Aesthetics art, traditional asian pagoda, elaborate golden accents, sky blue and white color palette, swirling cloud pattern, digital illustration, east asian architecture, ornamental rooftop, intricate detailing on building, cultural representation."
>>> negative_prompt = " "
>>> control_image = load_image(
... "https://huggingface.co/InstantX/Qwen-Image-ControlNet-Union/resolve/main/conds/canny.png"
... )
>>> # Depending on the variant being used, the pipeline call will slightly vary.
>>> # Refer to the pipeline documentation for more details.
>>> image = pipe(
... prompt,
... negative_prompt=negative_prompt,
... control_image=control_image,
... controlnet_conditioning_scale=1.0,
... num_inference_steps=30,
... true_cfg_scale=4.0,
... ).images[0]
>>> image.save("qwenimage_cn_union.png")
>>> # QwenImageMultiControlNetModel
>>> controlnet = QwenImageControlNetModel.from_pretrained(
... "InstantX/Qwen-Image-ControlNet-Union", torch_dtype=torch.bfloat16
... )
>>> controlnet = QwenImageMultiControlNetModel([controlnet])
>>> pipe = QwenImageControlNetPipeline.from_pretrained(
... "Qwen/Qwen-Image", controlnet=controlnet, torch_dtype=torch.bfloat16
... )
>>> pipe.to("cuda")
>>> prompt = "Aesthetics art, traditional asian pagoda, elaborate golden accents, sky blue and white color palette, swirling cloud pattern, digital illustration, east asian architecture, ornamental rooftop, intricate detailing on building, cultural representation."
>>> negative_prompt = " "
>>> control_image = load_image(
... "https://huggingface.co/InstantX/Qwen-Image-ControlNet-Union/resolve/main/conds/canny.png"
... )
>>> # Depending on the variant being used, the pipeline call will slightly vary.
>>> # Refer to the pipeline documentation for more details.
>>> image = pipe(
... prompt,
... negative_prompt=negative_prompt,
... control_image=[control_image, control_image],
... controlnet_conditioning_scale=[0.5, 0.5],
... num_inference_steps=30,
... true_cfg_scale=4.0,
... ).images[0]
>>> image.save("qwenimage_cn_union_multi.png")encode_prompt
< source >( prompt: str | list[str]device: 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 = 1024 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - device — (
torch.device): torch cihazı - num_images_per_prompt (
int) — her prompt için oluşturulacak görsel sayısı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur.
QwenImageEditPlusPipeline
sınıf diffusers.QwenImageEditPlusPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizerprocessor: Qwen2VLProcessortransformer: QwenImageTransformer2DModel )
Parametreler
- transformer (QwenImageTransformer2DModel) — 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 (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, özellikle Qwen2.5-VL-7B-Instruct varyantı. - tokenizer (
Qwen2Tokenizer) — https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2Tokenizer sınıfının Tokenizer'ı
Görsel düzenleme için Qwen-Image-Edit hattı.
__call__
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Noneprompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonetrue_cfg_scale: float = 4.0height: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = Nonenum_images_per_prompt: int = 1generator: 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], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512 ) → ~pipelines.qwenimage.QwenImagePipelineOutput or tuple
Parametreler
- image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image]veyalist[np.ndarray]) — Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil edenImage, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı[0, 1]arasındadır. Tensör veya tensör listesi ise beklenen şekil(B, C, H, W)veya(C, H, W)olmalıdır. Numpy dizisi veya dizi listesi ise beklenen şekil(B, H, W, C)veya(H, W, C)olmalıdır. Ayrıca görüntü latentlerini deimageolarak kabul edebilir, ancak latentler doğrudan geçirilirse tekrar kodlanmaz. - prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsgeçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yanitrue_cfg_scale,1'den büyük değilse yok sayılır). - true_cfg_scale (
float, isteğe bağlı, varsayılan 1.0) — true_cfg_scale (float, isteğe bağlı, varsayılan 1.0): Classifier-Free Diffusion Guidance makalesinde tanımlanan yönlendirme ölçeği.true_cfg_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Classifier-free guidance,true_cfg_scale > 1olarak ayarlanarak ve birnegative_promptsağlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bunun bedeli olarak görsel kalitesinde düşüş yaşanır. - height (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - width (
int, isteğe bağlı, varsayılan: self.unet.config.sample_size * self.vae_scale_factor) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 1024 olarak ayarlanır. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. - sigmas (
list[float], isteğe bağlı) —set_timestepsyöntemlerindesigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan None) — Guidance distille edilmiş modeller için bir guidance scale değeri. Geleneksel classifier-free guidance'dan farklı olarak, guidance scale'in çıkarım sırasında gürültü tahmini yeniden ölçeklendirmesi yoluyla uygulandığı bu yöntemde, guidance distille edilmiş modeller guidance scale'i doğrudan forward pass sırasında bir giriş parametresi olarak alır. Guidance scale,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale,promptile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. Pipeline'daki bu parametre, gelecekte ortaya çıkacak guidance-distille edilmiş modelleri desteklemek için orada durmaktadır. Guidance distille edilmiş modeller kullanılmadığında yok sayılır. Geleneksel classifier-free guidance'i etkinleştirmek için lütfentrue_cfg_scale > 1.0venegative_prompt(boş bir negatif prompt bile, örneğin ” ”, classifier-free guidance hesaplamalarını etkinleştirmelidir) iletin. - 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 torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —prompt_embedsiçin dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —negative_prompt_embedsiçin dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.qwenimage.QwenImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan 512) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.qwenimage.QwenImagePipelineOutput veya tuple
return_dict True ise ~pipelines.qwenimage.QwenImagePipelineOutput, aksi halde tuple. Tuple döndürülürken, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from PIL import Image
>>> from diffusers import QwenImageEditPlusPipeline
>>> from diffusers.utils import load_image
>>> pipe = QwenImageEditPlusPipeline.from_pretrained("Qwen/Qwen-Image-Edit-2509", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> image = load_image(
... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/yarn-art-pikachu.png"
... ).convert("RGB")
>>> prompt = (
... "Make Pikachu hold a sign that says 'Qwen Edit is awesome', yarn art style, detailed, vibrant colors"
... )
>>> # Depending on the variant being used, the pipeline call will slightly vary.
>>> # Refer to the pipeline documentation for more details.
>>> image = pipe(image, prompt, num_inference_steps=50).images[0]
>>> image.save("qwenimage_edit_plus.png")encode_prompt
< source >( prompt: str | list[str]image: typing.Optional[torch.Tensor] = 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 = 1024 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - image (
torch.Tensor, isteğe bağlı) — kodlanacak görüntü - device — (
torch.device): torch cihazı - num_images_per_prompt (
int) — her prompt için oluşturulacak görsel sayısı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur.
QwenImageLayeredPipeline
sınıf diffusers.QwenImageLayeredPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLQwenImagetext_encoder: Qwen2_5_VLForConditionalGenerationtokenizer: Qwen2Tokenizerprocessor: Qwen2VLProcessortransformer: QwenImageTransformer2DModel )
Parametreler
- transformer (QwenImageTransformer2DModel) — 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 (AutoencoderKL) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
Qwen2.5-VL-7B-Instruct) — Qwen2.5-VL-7B-Instruct, özellikle Qwen2.5-VL-7B-Instruct varyantı. - tokenizer (
Qwen2Tokenizer) — https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2Tokenizer sınıfının Tokenizer'ı
Görsel ayrıştırma için Qwen-Image-Layered hattı.
__call__
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = Noneprompt: str | list[str] = Nonenegative_prompt: str | list[str] = Nonetrue_cfg_scale: float = 4.0layers: int | None = 4num_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = Nonenum_images_per_prompt: int = 1generator: 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], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 512resolution: int = 640cfg_normalize: bool = Falseuse_en_prompt: bool = False ) → ~pipelines.qwenimage.QwenImagePipelineOutput or tuple
Parametreler
- image (
torch.Tensor,PIL.Image.Image,np.ndarray,list[torch.Tensor],list[PIL.Image.Image]veyalist[np.ndarray]) — Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil edenImage, numpy dizisi veya tensör. Hem numpy dizisi hem de pytorch tensörü için beklenen değer aralığı[0, 1]arasındadır. Tensör veya tensör listesi ise beklenen şekil(B, C, H, W)veya(C, H, W)olmalıdır. Numpy dizisi veya dizi listesi ise beklenen şekil(B, H, W, C)veya(H, W, C)olmalıdır. Ayrıca görüntü latentlerini deimageolarak kabul edebilir, ancak latentler doğrudan geçirilirse tekrar kodlanmaz. - prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemesi istenen istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsgeçirilmelidir. Yönlendirme kullanılmadığında yok sayılır (yanitrue_cfg_scale,1'den büyük değilse yok sayılır). - true_cfg_scale (
float, isteğe bağlı, varsayılan 1.0) — true_cfg_scale (float, isteğe bağlı, varsayılan 1.0): Classifier-Free Diffusion Guidance makalesinde tanımlanan yönlendirme ölçeği.true_cfg_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Classifier-free guidance,true_cfg_scale > 1olarak ayarlanarak ve birnegative_promptsağlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bunun bedeli olarak görsel kalitesinde düşüş yaşanır. - layers (
int, isteğe bağlı, varsayılan 4) — Katmanlı çıktı için üretilecek gizli katman sayısı. - num_inference_steps (
int, isteğe bağlı, varsayılan 50) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar. - sigmas (
list[float], isteğe bağlı) —set_timestepsyöntemlerindesigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılır. - guidance_scale (
float, isteğe bağlı, varsayılan None) — Guidance distille edilmiş modeller için bir guidance scale değeri. Geleneksel classifier-free guidance'dan farklı olarak, guidance scale'in çıkarım sırasında gürültü tahmini yeniden ölçeklendirmesi yoluyla uygulandığı bu yöntemde, guidance distille edilmiş modeller guidance scale'i doğrudan forward pass sırasında bir giriş parametresi olarak alır. Guidance scale,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek guidance scale,promptile yakından ilişkili görsellerin üretilmesini teşvik eder, genellikle bu da daha düşük görsel kalitesi pahasına olur. Pipeline'daki bu parametre, gelecekte ortaya çıkacak guidance-distille edilmiş modelleri desteklemek için orada durmaktadır. Guidance distille edilmiş modeller kullanılmadığında yok sayılır. Geleneksel classifier-free guidance'i etkinleştirmek için lütfentrue_cfg_scale > 1.0venegative_prompt(boş bir negatif prompt bile, örneğin ” ”, classifier-free guidance hesaplamalarını etkinleştirmelidir) iletin. - 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 torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —prompt_embedsiçin dikkat maskesi. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_embeds_mask (
torch.Tensor, isteğe bağlı) —negative_prompt_embedsiçin dikkat maskesi. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.qwenimage.QwenImagePipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
List, optional) — The list of tensor inputs for thecallback_on_step_endfunction. The tensors specified in the list will be passed ascallback_kwargsargument. You will only be able to include variables listed in the._callback_tensor_inputsattribute of your pipeline class. - max_sequence_length (
int, varsayılan 512) —promptile kullanılacak maksimum dizi uzunluğu. - resolution (
int, isteğe bağlı, varsayılan 640) — koşul ve çıktı çözünürlüğünü belirlemek için (640, 1024) aralığında farklı bir sepet kullanılır - cfg_normalize (
bool, isteğe bağlı, varsayılanFalse) — cfg normalizasyonunun etkinleştirilip etkinleştirilmeyeceğini belirtir. - use_en_prompt (
bool, isteğe bağlı, varsayılanFalse) — kullanıcı açıklama sağlamadığında otomatik açıklama dili
Dönüş değeri
~pipelines.qwenimage.QwenImagePipelineOutput veya tuple
return_dict True ise ~pipelines.qwenimage.QwenImagePipelineOutput, aksi halde tuple. Tuple döndürülürken, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from PIL import Image
>>> from diffusers import QwenImageLayeredPipeline
>>> from diffusers.utils import load_image
>>> pipe = QwenImageLayeredPipeline.from_pretrained("Qwen/Qwen-Image-Layered", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> image = load_image(
... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/yarn-art-pikachu.png"
... ).convert("RGBA")
>>> prompt = ""
>>> # Depending on the variant being used, the pipeline call will slightly vary.
>>> # Refer to the pipeline documentation for more details.
>>> images = pipe(
... image,
... prompt,
... num_inference_steps=50,
... true_cfg_scale=4.0,
... layers=4,
... resolution=640,
... cfg_normalize=False,
... use_en_prompt=True,
... ).images[0]
>>> for i, image in enumerate(images):
... image.save(f"{i}.out.png")encode_prompt
< source >( prompt: str | list[str]device: 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 = 1024 )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - device — (
torch.device): torch cihazı - num_images_per_prompt (
int) — her prompt için oluşturulacak görsel sayısı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur.
QwenImagePipelineOutput
sınıf diffusers.pipelines.qwenimage.pipeline_output.QwenImagePipelineOutput
< source >( images: list[PIL.Image.Image] | numpy.ndarray )
Parametreler
Stable Diffusion hatları için çıktı sınıfı.