#
# Apache Lisansı, 2.0 Sürümü ("Lisans") altında lisanslanmıştır;
# bu dosyayı, Lisansa uygun olarak kullanabilirsiniz.
# Lisansın bir kopyasını şu adresten edinebilirsiniz
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Uygulanabilir yasa gerektirmedikçe veya yazılı olarak anlaşılmadıkça, yazılım
# Lisans kapsamında dağıtılan, "OLDUĞU GİBİ" esasına göre dağıtılır,
# HİÇBİR TÜR AÇIK VEYA ZIMMİ GARANTİ VEYA ŞART İÇERMEZ.
# İzinleri ve
# lisans kapsamındaki kısıtlamalar. -->

# Flux3Transformer2DModel

[FLUX.3](https://bfl.ai/) kaynaklı, görüntü benzeri veriler için bir Transformer modeli; metinden görüntüye ve görüntüden görüntüye üretim için kullanılır. Üç token modu tek bir ortak diziyi paylaşır: gürültülü görüntü tokenları, VAE kodlanmış referans görüntü tokenları ve metin bağlamı. Her mod önce kendi moduna özgü transformer bloklarından geçer, ardından modlar ortak tek bloklar için birleştirilir ve görüntü tokenları çıktı katmanlarından geçer. Zaman adımları token başınadır: görüntü tokenları akış zaman adımını taşır, referans tokenları ve metin bağlamı ise `0` konumundadır.

```python
import torch
from diffusers import Flux3Transformer2DModel

transformer = Flux3Transformer2DModel.from_pretrained(
    "black-forest-labs/flux-3-image-klein-base", subfolder="transformer", dtype=torch.bfloat16
)
```

## Flux3Transformer2DModel[[diffusers.Flux3Transformer2DModel]]

#### diffusers.Flux3Transformer2DModel[[diffusers.Flux3Transformer2DModel]]

```python
diffusers.Flux3Transformer2DModel(in_channels: int = 128, cond_in_channels: int = 128, num_layers: int = 5, num_single_layers: int = 28, attention_head_dim: int = 128, num_attention_heads: int = 24, joint_attention_dim: int = 20480, timestep_channels: int = 256, mlp_ratio: float = 3.0, axes_dims_rope: tuple = (32, 32, 32, 32), rope_theta: int = 10000, eps: float = 1e-06, flow_map: bool = False)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_flux3.py#L341)

**Parametreler:**

in_channels (`int`, varsayılan `128`) : Görsel jetonlarının kanal genişliği (paketlenmiş VAE latentleri, `latent_channels * 4`).

cond_in_channels (`int`, varsayılan `128`) : Referans görüntü jetonlarının kanal genişliği.

num_layers (`int`, varsayılan `5`) : Mod başına transformer blok sayısı.

num_single_layers (`int`, varsayılan `28`) : Birleşik tekil dönüştürücü bloklarının sayısı.

attention_head_dim (`int`, varsayılan `128`) : Her dikkat başlığı için kullanılacak boyut sayısı.

num_attention_heads (`int`, varsayılan `24`) : Kullanılacak dikkat başı sayısı.

joint_attention_dim (`int`, varsayılan `20480`) : `encoder_hidden_states`'nin (yığılmış Qwen3-VL gizli durumlarının) gömme/kanal boyutu.

timestep_channels (`int`, varsayılan `256`) : Sinüsoidal zaman adımı gömme kanal sayısı.

mlp_ratio (`float`, varsayılan `3.0`) : İleri besleme alt bloklarının genişletme oranı.

axes_dims_rope (`tuple[int]`, varsayılan `(32, 32, 32, 32)`) : `(t, h, w, l)` konum ekseni başına döner konumsal gömme (rotary positional embeddings) için kullanılacak boyutlar.

rope_theta (`int`, varsayılan `10000`) : Döner konumsal gömme (rotary positional embeddings) taban frekansı.

eps (`float`, varsayılan `1e-6`) : Katman normlarının ve QK normlarının epsilon değeri.

flow_map (`bool`, varsayılan `False`) : Modelin bir akış haritası (adım-distilled) olup olmadığı: `target_timestep_embedder` ekler ve ileri geçişte `target_timestep` gerektirir.

Metinden görüntüye ve görüntüden görüntüye üretim için FLUX.3'te tanıtılan Transformer modeli.

Üç token modu tek bir ortak diziyi paylaşır: gürültülü görüntü tokenları (`hidden_states`), isteğe bağlı VAE kodlanmış referans görüntü tokenları (`image_cond_hidden_states`) ve metin bağlamı (`encoder_hidden_states`). Her mod önce kendi moduna özgü transformer bloklarından geçer (görüntü modları için `mode_blocks`, metin bağlamı için `txt_mode_blocks`), ardından metin bağlamı ve etkin görüntü modları ortak tek bloklar için birleştirilir ve yalnızca görüntü tokenları çıktı katmanlarından geçer. Modülasyon mod başınadır: görüntü tokenları akış zaman adımıyla, referans görüntü tokenları ve metin bağlamı ise `0` zaman adımıyla modüle edilir. Bir akış haritası kontrol noktası (`flow_map=True`, adım damıtılmış modeller) ek olarak, her gürültü azaltma adımının atladığı zaman adımını gömme (embed) olarak işler ve bunu her modun modülasyonuna ekler.

#### forward[[diffusers.Flux3Transformer2DModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: Tensor, img_ids: Tensor, txt_ids: Tensor, image_cond_hidden_states: typing.Optional[torch.Tensor] = None, image_cond_ids: typing.Optional[torch.Tensor] = None, target_timestep: typing.Optional[torch.Tensor] = None, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_flux3.py#L494)

**Parametreler:**

hidden_states (`torch.Tensor`, şekli `(batch_size, image_seq_len, in_channels)`) : Gürültülü görüntü latent token'ları.

encoder_hidden_states (`torch.Tensor`, şekli `(batch_size, text_seq_len, joint_attention_dim)`) : Metin bağlam gömme değerleri (yığılmış Qwen3-VL gizli durumları).

timestep (`torch.Tensor`, şekli `(batch_size,)`) : Görsel jetonlarının `[0, 1]` aralığındaki akış zaman adımı. Referans görsel jetonları ve metin bağlamı `0` zaman adımında bulunur.

img_ids (`torch.Tensor`, şekli `(image_seq_len, 4)`) : Görsel jetonlarının konum kimlikleri `(t, h, w, l)`, döner konumsal gömme (rotary positional embeddings) için kullanılır ve batch'teki tüm örnekler tarafından paylaşılır.

txt_ids (`torch.Tensor`, şekli `(text_seq_len, 4)`) : Metin bağlamı belirteçlerinin konum kimlikleri.

image_cond_hidden_states (`torch.Tensor`, şekli `(batch_size, cond_seq_len, cond_in_channels)`, *isteğe bağlı*) : VAE kodlanmış referans görüntü token'ları (temiz koşullandırma içeriği, görüntüden görüntüye üretim için).

image_cond_ids (`torch.Tensor`, şekli `(cond_seq_len, 4)`, *isteğe bağlı*) : Referans görüntü tokenlarının konum kimlikleri. `image_cond_hidden_states` ile birlikte gereklidir.

target_timestep (`torch.Tensor`, şekli `(batch_size,)`, *isteğe bağlı*) : Mevcut gürültü azaltma adımının atladığı `[0, 1]` aralığındaki akış zaman adımı. Yalnızca bir akış haritası modeli (`flow_map=True`) tarafından zorunlu tutulur ve yalnızca o model tarafından kullanılır.

attention_kwargs (`dict`, *isteğe bağlı*) : Bu ileri geçiş için LoRA katmanlarını ölçekleyen, `scale` girdisi belirtilmişse bu ölçeklendirmeyi uygulayan bir kwargs sözlüğü.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine `~models.transformer_2d.Transformer2DModelOutput` döndürülüp döndürülmediğini belirtir.

**Dönüş:**

`return_dict` True ise, `~models.transformer_2d.Transformer2DModelOutput` döndürülür; aksi halde, ilk öğesi `hidden_states` ile aynı şekle sahip, görüntü token'larının tahmini hızı olan bir `tuple` döndürülür.

[Flux3Transformer2DModel](/docs/diffusers/main/tr/api/models/flux3_transformer#diffusers.Flux3Transformer2DModel) ileri yöntemi.

## Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

#### diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

```python
diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L21)

**Parametreler:**

sample (`torch.Tensor`, şekli `(batch_size, num_channels, height, width)` veya [Transformer2DModel](/docs/diffusers/main/tr/api/models/transformer2d#diffusers.Transformer2DModel) ayrık (discrete) ise `(batch size, num_vector_embeds - 1, num_latent_pixels)`) : `encoder_hidden_states` girdisine koşullu gizli durum (hidden states) çıktısı. Ayrık (discrete) ise, gürültüsü olmayan (unnoised) gizli (latent) pikseller için olasılık dağılımlarını döndürür.

[Transformer2DModel](/docs/diffusers/main/tr/api/models/transformer2d#diffusers.Transformer2DModel)'nin çıktısı.

