Buckets:

mishig's picture
|
download
raw
25.2 kB
# Flux2
Flux.2, Black Forest Labs'ın [Flux.1](./flux) 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](https://huggingface.co/black-forest-labs) bulunabilir. Orijinal çıkarım kodu [burada](https://github.com/black-forest-labs/flux2) bulunabilir.
> [!TIP]
> 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ü](https://huggingface.co/blog/sd3#memory-optimizations-for-sd3) 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](https://huggingface.co/blog/quanto-diffusers) göz atın.
>
> [Önbelleğe alma](../../optimization/cache), 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](https://github.com/black-forest-labs/flux2/blob/5a5d316b1b42f6b59a8c9194b77c8256be848432/src/flux2/text_encoder.py#L140) bu değerin 0.15 olmasını önerir.
## Flux2Pipeline[[diffusers.Flux2Pipeline]]
#### diffusers.Flux2Pipeline[[diffusers.Flux2Pipeline]]
```python
diffusers.Flux2Pipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Mistral3ForConditionalGeneration, tokenizer: AutoProcessor, transformer: Flux2Transformer2DModel)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2.py#L251)
**Parametreler:**
transformer ([Flux2Transformer2DModel](/docs/diffusers/main/tr/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi.
scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.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](https://huggingface.co/docs/transformers/en/model_doc/mistral3#transformers.Mistral3ForConditionalGeneration)
tokenizer (`AutoProcessor`) : [PixtralProcessor](https://huggingface.co/docs/transformers/en/model_doc/pixtral#transformers.PixtralProcessor) sınıfının tokenizer'ı.
Metinden görüntüye üretim için Flux2 hattı.
Referans: [https://bfl.ai/blog/flux-2](https://bfl.ai/blog/flux-2)
#### __call__[[diffusers.Flux2Pipeline.__call__]]
```python
__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)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2.py#L746)
**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](https://huggingface.co/papers/2210.03142) 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)](https://pytorch.org/docs/stable/generated/torch.Generator.html) 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](https://pillow.readthedocs.io/en/stable/): `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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) 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:
```py
>>> 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]]
```python
diffusers.Flux2KleinPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Qwen3ForCausalLM, tokenizer: Qwen2Tokenizer, transformer: Flux2Transformer2DModel, is_distilled: bool = False)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein.py#L155)
**Parametreler:**
transformer ([Flux2Transformer2DModel](/docs/diffusers/main/tr/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi.
scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.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](https://huggingface.co/docs/transformers/en/model_doc/qwen3#transformers.Qwen3ForCausalLM)
tokenizer (`Qwen2TokenizerFast`) : [Qwen2TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.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](https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence)
#### __call__[[diffusers.Flux2KleinPipeline.__call__]]
```python
__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))
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein.py#L614)
**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](https://huggingface.co/papers/2207.12598)'de tanımlandığı gibi yönlendirme ölçeği. `guidance_scale`, [Imagen Paper](https://huggingface.co/papers/2205.11487)'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](https://pytorch.org/docs/stable/generated/torch.Generator.html) 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](https://pillow.readthedocs.io/en/stable/): `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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) 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:
```py
>>> 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]]
```python
diffusers.Flux2KleinKVPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Qwen3ForCausalLM, tokenizer: Qwen2Tokenizer, transformer: Flux2Transformer2DModel, is_distilled: bool = True)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein_kv.py#L155)
**Parametreler:**
transformer ([Flux2Transformer2DModel](/docs/diffusers/main/tr/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel)) : Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer (MMDiT) mimarisi.
scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.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](https://huggingface.co/docs/transformers/en/model_doc/qwen3#transformers.Qwen3ForCausalLM)
tokenizer (`Qwen2TokenizerFast`) : [Qwen2TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.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](https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence)
#### __call__[[diffusers.Flux2KleinKVPipeline.__call__]]
```python
__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))
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein_kv.py#L610)
**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:
```py
>>> 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.