Diffusers documentation
Flux2
Flux2
Flux.2, Black Forest Labs'ın Flux.1 serisinden sonra gelen son dönem görüntü üretim modelleri serisidir. Sıfırdan yapılan ön eğitimi ve yeni mimarisiyle tamamen yeni bir modeldir!
Flux için orijinal model denetim noktaları burada bulunabilir. Orijinal çıkarım kodu burada bulunabilir.
Flux2, tüketici donanım cihazlarında çalıştırıldığında oldukça maliyetli olabilir. Ancak, daha hızlı ve bellek açısından daha verimli bir şekilde çalıştırılması için bir dizi optimizasyon uygulayabilirsiniz. Daha fazla ayrıntı için bu bölümü inceleyin. Ayrıca, Flux, çıkarım gecikmesinde bir ödün karşılığında bellek verimliliği için kuantizasyondan faydalanabilir. Daha fazla bilgi edinmek için bu blog yazısına göz atın.
Önbelleğe alma, ara çıktıları depolayıp yeniden kullanarak çıkarımı hızlandırabilir.
Başlık örnekleme artırma
Flux.2, daha iyi istemlerle potansiyel olarak daha iyi çıktılar üretebilir. Pipeline çağrısı argümanlarında caption_upsample_temperature argümanını ayarlayarak bir girdi istemini “upsample” yapabiliriz. resmî uygulama bu değerin 0.15 olmasını önermektedir.
Flux2Pipeline
sınıf diffusers.Flux2Pipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLFlux2text_encoder: Mistral3ForConditionalGenerationtokenizer: AutoProcessortransformer: Flux2Transformer2DModel )
Parametreler
- transformer (Flux2Transformer2DModel) — 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 (
AutoencoderKLFlux2) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. - text_encoder (
Mistral3ForConditionalGeneration) — Mistral3ForConditionalGeneration - tokenizer (
AutoProcessor) — PixtralProcessor sınıfının sözcük bölücüsü.
Metinden görüntüye üretim için Flux2 hattı.
Referans: https://bfl.ai/blog/flux-2
__call__
< source >( image: PIL.Image.Image | list[PIL.Image.Image] | None = Noneprompt: str | list[str] = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float | None = 4.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] = 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 = 512text_encoder_out_layers: tuple = (10, 20, 30)caption_upsample_temperature: float = None ) → ~pipelines.flux2.Flux2PipelineOutput 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. - guidance_scale (
float, isteğe bağlı, varsayılan olarak 1.0) — Gömülü yönlendirme ölçeği, ayarlanarak etkinleştirilirguidance_scale> 1. Daha yüksekguidance_scaledeğerleri, modelinpromptile daha uyumlu görseller üretmesini teşvik eder, ancak görsel kalitesinin düşmesi pahasına.Guidance-distilled modeller,
guidance_scale> 1 için gerçek classifer-free guidance'ı yaklaşık olarak sağlar. Daha fazla bilgi için makaleye bakın. - 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. - 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. - 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. - text_encoder_out_layers (
tuple[int]) — Son prompt gömme değerlerini türetmek içintext_encoderiçinde kullanılacak katman indeksleri. - caption_upsample_temperature (
float) — Belirtilirse, potansiyel olarak iyileştirilmiş çıktılar için caption upsampling işlemi uygulanmaya çalışılır. Caption upsampling yapılacaksa, bu değerin 0.15 olarak ayarlanmasını öneririz.
Dönüş değeri
~pipelines.flux2.Flux2PipelineOutput veya tuple
~pipelines.flux2.Flux2PipelineOutput
return_dict True ise, aksi halde tuple. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers import Flux2Pipeline
>>> pipe = Flux2Pipeline.from_pretrained("black-forest-labs/FLUX.2-dev", 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, guidance_scale=2.5).images[0]
>>> image.save("flux.png")Flux2KleinPipeline
sınıf diffusers.Flux2KleinPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLFlux2text_encoder: Qwen3ForCausalLMtokenizer: Qwen2Tokenizertransformer: Flux2Transformer2DModelis_distilled: bool = False )
Parametreler
- transformer (Flux2Transformer2DModel) — 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 (
AutoencoderKLFlux2) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. - text_encoder (
Qwen3ForCausalLM) — Qwen3ForCausalLM - tokenizer (
Qwen2TokenizerFast) — Tokenizer of class Qwen2TokenizerFast.
Metinden görüntüye üretim için Flux2 Klein hattı.
Referans: https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence
__call__
< source >( image: list[PIL.Image.Image] | PIL.Image.Image | None = Noneprompt: str | list[str] = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 50sigmas: list[float] | None = Noneguidance_scale: float = 4.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] = Nonenegative_prompt_embeds: str | list[str] | None = Noneoutput_type: str = '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']max_sequence_length: int = 512text_encoder_out_layers: tuple = (9, 18, 27) ) → ~pipelines.flux2.Flux2PipelineOutput or tuple
Parametreler
- image (
torch.Tensor,PIL.Image.Image,np.ndarray,List[torch.Tensor],List[PIL.Image.Image]veyaList[np.ndarray]) —Image, başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden 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. - guidance_scale (
float, isteğe bağlı, varsayılan 4.0) — Classifier-Free Diffusion Guidance'de tanımlandığı gibi yönlendirme ölçeği.guidance_scale, Imagen Paper'daki 2. denklemindekiwolarak tanımlanır. Yönlendirme ölçeği,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına,promptile yakından ilişkili görüntülerin üretilmesini teşvik eder. Adım adım damıtılmış modellerdeguidance_scaleyok sayılı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_timestepsmetodundasigmasargümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılacaktı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. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. Bu iş akışında negatif istem olarak "" kullanılır. Sağlanmazsa, "" üzerinden oluşturulur. - 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. - text_encoder_out_layers (
tuple[int]) — Son prompt gömme değerlerini türetmek içintext_encoderiçinde kullanılacak katman indeksleri.
Dönüş değeri
~pipelines.flux2.Flux2PipelineOutput veya tuple
~pipelines.flux2.Flux2PipelineOutput
return_dict True ise, aksi halde tuple. Tuple döndürüldüğünde, ilk öğe üretilen görsellerin listesidir.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers import Flux2KleinPipeline
>>> pipe = Flux2KleinPipeline.from_pretrained(
... "black-forest-labs/FLUX.2-klein-base-9B", 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, guidance_scale=4.0).images[0]
>>> image.save("flux2_output.png")Flux2KleinKVPipeline
sınıf diffusers.Flux2KleinKVPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLFlux2text_encoder: Qwen3ForCausalLMtokenizer: Qwen2Tokenizertransformer: Flux2Transformer2DModelis_distilled: bool = True )
Parametreler
- transformer (Flux2Transformer2DModel) — 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 (
AutoencoderKLFlux2) — Görselleri latent temsillere kodlamak ve bu temsillerden çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli. - text_encoder (
Qwen3ForCausalLM) — Qwen3ForCausalLM - tokenizer (
Qwen2TokenizerFast) — Tokenizer of class Qwen2TokenizerFast.
KV önbellekli referans görüntü koşullandırması ile metinden görüntüye üretim için Flux2 Klein KV hattı.
İlk gürültü azaltma adımında, referans görüntü jetonları ileri geçişe dahil edilir ve dikkat K/V projeksiyonları önbelleğe alınır. Sonraki adımlarda, önbelleğe alınan K/V yeniden hesaplanmadan yeniden kullanılır; bu da referans görüntüler kullanıldığında daha hızlı çıkarım sağlar.
Referans: https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence
__call__
< source >( image: list[PIL.Image.Image] | PIL.Image.Image | None = Noneprompt: str | list[str] = Noneheight: int | None = Nonewidth: int | None = Nonenum_inference_steps: int = 4sigmas: list[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] = Noneoutput_type: str = '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']max_sequence_length: int = 512text_encoder_out_layers: tuple = (9, 18, 27) )
Parametreler
- image (
PIL.Image.ImageveyaList[PIL.Image.Image], isteğe bağlı) — Koşullandırma için referans görüntü(ler). İlk gürültü azaltma adımında, referans jetonları ileri geçişe dahil edilir ve dikkat K/V'leri önbelleğe alınır. Sonraki adımlarda, önbelleğe alınan K/V'ler yeniden hesaplanmadan yeniden kullanılır. - prompt (
strveyaList[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. - height (
int, isteğe bağlı) — Oluşturulan görüntünün piksel cinsinden yüksekliği. - width (
int, isteğe bağlı) — Oluşturulan görüntünün piksel cinsinden genişliği. - num_inference_steps (
int, isteğe bağlı, varsayılan 4) — Gürültü azaltma adım sayısı. - sigmas (
List[float], isteğe bağlı) — Gürültü azaltma zamanlaması için özel sigmalar. - 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ı) — Belirleyici üretim için üreteç(ler). - latents (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş gürültülü latentler. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. - output_type (
str, isteğe bağlı, varsayılan"pil") — Çıktı biçimi:"pil"veya"np". - return_dict (
bool, isteğe bağlı, varsayılanTrue) — BirFlux2PipelineOutputmu yoksa düz bir tuple mı döndürüleceğini belirtir. - attention_kwargs (
dict, isteğe bağlı) — Dikkat işleyicilerine iletilen ek kwargs. - callback_on_step_end (
Callable, isteğe bağlı) — Her gürültü azaltma adımının sonunda çağrılan geri çağrı (callback) işlevi. - callback_on_step_end_tensor_inputs (
List, isteğe bağlı) — Çağrı geri işlevi için girdi tensörleri. - max_sequence_length (
int, varsayılan 512) — İstem için maksimum dizi uzunluğu. - text_encoder_out_layers (
tuple[int]) — Metin kodlayıcı gizli durum çıkarımı için katman indeksleri.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from PIL import Image
>>> from diffusers import Flux2KleinKVPipeline
>>> pipe = Flux2KleinKVPipeline.from_pretrained(
... "black-forest-labs/FLUX.2-klein-9b-kv", torch_dtype=torch.bfloat16
... )
>>> pipe.to("cuda")
>>> ref_image = Image.open("reference.png")
>>> image = pipe("A cat dressed like a wizard", image=ref_image, num_inference_steps=4).images[0]
>>> image.save("flux2_kv_output.png")