Buckets:
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ı önerir.
Flux2Pipeline[[diffusers.Flux2Pipeline]]
diffusers.Flux2Pipeline[[diffusers.Flux2Pipeline]]
diffusers.Flux2Pipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Mistral3ForConditionalGeneration, tokenizer: AutoProcessor, transformer: 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örüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
text_encoder (Mistral3ForConditionalGeneration) : Mistral3ForConditionalGeneration
tokenizer (AutoProcessor) : PixtralProcessor sınıfının tokenizer'ı.
Metinden görüntüye üretim için Flux2 hattı.
Referans: https://bfl.ai/blog/flux-2
call[[diffusers.Flux2Pipeline.call]]
__call__(image: PIL.Image.Image | list[PIL.Image.Image] | None = None, prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float | None = 4.0, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512, text_encoder_out_layers: tuple = (10, 20, 30), caption_upsample_temperature: float = None)
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 olması durumunda beklenen şekil (B, C, H, W) veya (C, H, W) olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil (B, H, W, C) veya (H, W, C) olmalıdır. Ayrıca image olarak görüntü latentlerini de kabul edebilir, ancak latentler doğrudan geçirildiğinde tekrar kodlanmaz.
prompt (str veya list[str], isteğe bağlı) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, bunun yerine prompt_embeds geçirilmelidir.
guidance_scale (float, isteğe bağlı, varsayılan 1.0) : Gömülü yönlendirme ölçeği, guidance_scale > 1 olarak ayarlanarak etkinleştirilir. Daha yüksek guidance_scale, modelin prompt ile daha uyumlu görseller üretmesini teşvik eder; bunun bedeli ise daha düşük görsel kalitedir. Yönlendirme damıtılmış modeller, guidance_scale > 1 için gerçek sınıf-ücretsiz yönlendirmeyi (true classifier-free guidance) yaklaşık olarak sağlar. Daha fazla bilgi için makaleye bakın.
height (int, isteğe bağlı, varsayılan olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen 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 olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen 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 üretilecek 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(leri) listesi.
latents (torch.Tensor, isteğe bağlı) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele generator kullanılarak örneklem yoluyla bir latent tensörü oluşturulur.
prompt_embeds (torch.Tensor, isteğe bağlı) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. Sağlanmazsa, metin gömme değerleri prompt girdi argümanından oluşturulur.
output_type (str, isteğe bağlı, varsayılan "pil") : Üretilen görüntünün çıktı biçimi. PIL: PIL.Image.Image veya np.array arasında seçim yapın.
return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine ~pipelines.qwenimage.QwenImagePipelineOutput döndürülecek mi?
attention_kwargs (dict, isteğe bağlı) : Belirtilirse, diffusers.models.attention_processor içinde 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 istek 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 başlık örnekleme artırma (caption upsampling) işlemi uygulanmaya çalışılır. Başlık örnekleme artırma yapılacaksa, bu değerin 0.15 olarak ayarlanmasını öneririz.
Dönüş: ~pipelines.flux2.Flux2PipelineOutput veya tuple
return_dict True ise ~pipelines.flux2.Flux2PipelineOutput, aksi halde bir tuple. Bir 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[[diffusers.Flux2KleinPipeline]]
diffusers.Flux2KleinPipeline[[diffusers.Flux2KleinPipeline]]
diffusers.Flux2KleinPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Qwen3ForCausalLM, tokenizer: Qwen2Tokenizer, transformer: Flux2Transformer2DModel, is_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örüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
text_encoder (Qwen3ForCausalLM) : Qwen3ForCausalLM
tokenizer (Qwen2TokenizerFast) : Qwen2TokenizerFast sınıfının tokenizer'ı.
Metinden görüntüye üretim için Flux2 Klein hattı.
Referans: https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence
call[[diffusers.Flux2KleinPipeline.call]]
__call__(image: list[PIL.Image.Image] | PIL.Image.Image | None = None, prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float = 4.0, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: str | list[str] | None = None, output_type: str = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int, dict], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512, text_encoder_out_layers: tuple = (9, 18, 27))
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 olması durumunda beklenen şekil (B, C, H, W) veya (C, H, W) olmalıdır. Numpy dizisi veya dizi listesi olması durumunda beklenen şekil (B, H, W, C) veya (H, W, C) olmalıdır. Ayrıca image olarak görüntü latentlerini de kabul edebilir, ancak latentler doğrudan geçirildiğinde tekrar kodlanmaz.
prompt (str veya List[str], isteğe bağlı) : Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmamışsa, 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'deki 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 olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen 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 olarak self.unet.config.sample_size * self.vae_scale_factor) : Üretilen 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 üretilecek görsel sayısı.
generator (torch.Generator veya List[torch.Generator], isteğe bağlı) : Üretimi deterministik hale getirmek için bir veya bir torch üreteci listesi.
latents (torch.Tensor, isteğe bağlı) : Görsel üretimi için girdi olarak kullanılacak, Gauss dağılımından örneklenen önceden oluşturulmuş gürültülü latentler. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgele generator kullanılarak örneklem yoluyla bir latent tensörü oluşturulur.
prompt_embeds (torch.Tensor, isteğe bağlı) : Ön oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. istem ağırlıklandırması. 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") : Üretilen görüntünün çıktı biçimi. PIL: PIL.Image.Image veya np.array arasında seçim yapın.
return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine ~pipelines.qwenimage.QwenImagePipelineOutput döndürülecek mi?
attention_kwargs (dict, isteğe bağlı) : Belirtilirse, diffusers.models.attention_processor içinde 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 istek gömme değerlerini türetmek için text_encoder içinde kullanılacak katman indeksleri.
Dönüş: ~pipelines.flux2.Flux2PipelineOutput veya tuple
return_dict True ise ~pipelines.flux2.Flux2PipelineOutput, aksi halde bir tuple. Bir 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[[diffusers.Flux2KleinKVPipeline]]
diffusers.Flux2KleinKVPipeline[[diffusers.Flux2KleinKVPipeline]]
diffusers.Flux2KleinKVPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Qwen3ForCausalLM, tokenizer: Qwen2Tokenizer, transformer: Flux2Transformer2DModel, is_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örüntüleri gizil (latent) temsillere kodlamak ve bu temsillerden görüntülere çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
text_encoder (Qwen3ForCausalLM) : Qwen3ForCausalLM
tokenizer (Qwen2TokenizerFast) : Qwen2TokenizerFast sınıfının tokenizer'ı.
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[[diffusers.Flux2KleinKVPipeline.call]]
__call__(image: list[PIL.Image.Image] | PIL.Image.Image | None = None, prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 4, sigmas: list[float] | None = None, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int, dict], NoneType]] = None, callback_on_step_end_tensor_inputs: list = ['latents'], max_sequence_length: int = 512, text_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ı) : Üretilen görüntünün piksel cinsinden yüksekliği.
width (int, isteğe bağlı) : Üretilen 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 üretilecek görsel sayısı.
generator (torch.Generator veya List[torch.Generator], isteğe bağlı) : Deterministik ü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) : Flux2PipelineOutput mu yoksa düz bir tuple mı döndürüleceğini belirtir.
attention_kwargs (dict, isteğe bağlı) : Dikkat işlemcilerine 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ı işlevi.
callback_on_step_end_tensor_inputs (List, isteğe bağlı) : Geri çağrı fonksiyonu için girdi Tensor'ları.
max_sequence_length (int, varsayılan 512) : İstek için maksimum dizi uzunluğu.
text_encoder_out_layers (tuple[int]) : Metin kodlayıcı gizli durum çıkarımı için katman indeksleri.
Dönüş:
~pipelines.flux2.Flux2PipelineOutput veya tuple.
Ü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")
Xet Storage Details
- Size:
- 25.2 kB
- Xet hash:
- 432ee371b28b0b2558b7266c94f19e93b60c0700323eebfd9e309ced958536a5
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.