Diffusers documentation

Flux2

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

and get access to the augmented documentation experience

to get started

Flux2

LoRA MPS

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

< >

( 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 transformer ile 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__

< >

( 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] veya list[np.ndarray]) — Başlangıç noktası olarak kullanılacak bir görüntü partisyonunu temsil eden Image, 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 de image olarak kabul edebilir, ancak latentler doğrudan geçirilirse tekrar kodlanmaz.
  • prompt (str veya list[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerine prompt_embeds geçirilmelidir.
  • guidance_scale (float, isteğe bağlı, varsayılan olarak 1.0) — Gömülü yönlendirme ölçeği, ayarlanarak etkinleştirilir guidance_scale > 1. Daha yüksek guidance_scale değerleri, modelin prompt ile 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_timesteps yöntemlerinde sigmas argümanını destekleyen zamanlayıcılarla gürültü azaltma sürecinde kullanılacak özel sigmalar. Tanımlanmamışsa, num_inference_steps geç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.Generator veya list[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 rastgele generator kullanı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ğerleri prompt girdi 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.Image veya np.array.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ~pipelines.qwenimage.QwenImagePipelineOutput döndürülüp döndürülmemesi.
  • attention_kwargs (dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindeki self.processor altında tanımlanan AttentionProcessor'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_inputs tarafından belirtilen tüm tensörlerin listesini içerir.
  • callback_on_step_end_tensor_inputs (List, optional) — The list of tensor inputs for the callback_on_step_end function. The tensors specified in the list will be passed as callback_kwargs argument. You will only be able to include variables listed in the ._callback_tensor_inputs attribute of your pipeline class.
  • max_sequence_length (int, varsayılan 512) — prompt ile kullanılacak maksimum dizi uzunluğu.
  • text_encoder_out_layers (tuple[int]) — Son prompt gömme değerlerini türetmek için text_encoder iç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

< >

( 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 transformer ile 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__

< >

( 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] veya List[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 de image olarak kabul edebilir, ancak latentler doğrudan geçirilirse tekrar kodlanmaz.
  • prompt (str veya List[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerine prompt_embeds geç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. denklemindeki w olarak tanımlanır. Yönlendirme ölçeği, guidance_scale > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği, genellikle daha düşük görüntü kalitesi pahasına, prompt ile yakından ilişkili görüntülerin üretilmesini teşvik eder. Adım adım damıtılmış modellerde guidance_scale yok 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_timesteps metodunda sigmas argümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel sigmalar. Tanımlanmamışsa, num_inference_steps geç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.Generator veya List[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 rastgele generator kullanı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ğerleri prompt girdi 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.Image veya np.array.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ~pipelines.qwenimage.QwenImagePipelineOutput döndürülüp döndürülmemesi.
  • attention_kwargs (dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindeki self.processor altında tanımlanan AttentionProcessor'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_inputs tarafından belirtilen tüm tensörlerin listesini içerir.
  • callback_on_step_end_tensor_inputs (List, optional) — The list of tensor inputs for the callback_on_step_end function. The tensors specified in the list will be passed as callback_kwargs argument. You will only be able to include variables listed in the ._callback_tensor_inputs attribute of your pipeline class.
  • max_sequence_length (int, varsayılan 512) — prompt ile kullanılacak maksimum dizi uzunluğu.
  • text_encoder_out_layers (tuple[int]) — Son prompt gömme değerlerini türetmek için text_encoder iç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

< >

( 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 transformer ile 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__

< >

( 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.Image veya List[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 (str veya List[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.Generator veya List[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ılan True) — Bir Flux2PipelineOutput mu 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")
Update on GitHub