# DiTTransformer2DModel

[DiT](https://huggingface.co/papers/2212.09748)'den görüntü benzeri veriler için bir Transformer modeli.

## DiTTransformer2DModel[[diffusers.DiTTransformer2DModel]]

#### diffusers.DiTTransformer2DModel[[diffusers.DiTTransformer2DModel]]

```python
diffusers.DiTTransformer2DModel(num_attention_heads: int = 16, attention_head_dim: int = 72, in_channels: int = 4, out_channels: int | None = None, num_layers: int = 28, dropout: float = 0.0, norm_num_groups: int = 32, attention_bias: bool = True, sample_size: int = 32, patch_size: int = 2, activation_fn: str = 'gelu-approximate', num_embeds_ada_norm: int | None = 1000, upcast_attention: bool = False, norm_type: str = 'ada_norm_zero', norm_elementwise_affine: bool = False, norm_eps: float = 1e-05)
```

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

**Parametreler:**

num_attention_heads (int, isteğe bağlı, varsayılan 16) : Çok başlı dikkat için kullanılacak baş sayısı.

attention_head_dim (int, isteğe bağlı, varsayılan 72) : Her baştaki kanal sayısı.

in_channels (int, varsayılan 4) : Girdideki kanal sayısı.

out_channels (int, isteğe bağlı) : Çıktıdaki kanal sayısı. Çıktı kanal sayısı girişten farklıysa bu parametreyi belirtin.

num_layers (int, isteğe bağlı, varsayılan 28) : Kullanılacak Transformer bloğu katman sayısı.

dropout (float, isteğe bağlı, varsayılan 0.0) : Transformer blokları içinde kullanılacak dropout olasılığı.

norm_num_groups (int, isteğe bağlı, varsayılan 32) : Transformer blokları içinde grup normalizasyonu için grup sayısı.

attention_bias (bool, isteğe bağlı, varsayılan olarak True) : Transformer bloklarının dikkat (attention) mekanizmasının bir bias (yanal terim) parametresi içermesini yapılandırır.

sample_size (int, varsayılan 32) : Gizli görüntülerin genişliği. Bu parametre eğitim sırasında sabittir.

patch_size (int, varsayılan 2) : Modelin işlediği yama boyutu, sıralı olmayan verilerle çalışan mimariler için geçerlidir.

activation_fn (str, isteğe bağlı, varsayılan "gelu-approximate") : Transformer blokları içindeki ileri beslemeli ağlarda kullanılacak aktivasyon fonksiyonu.

num_embeds_ada_norm (int, isteğe bağlı, varsayılan 1000) : AdaLayerNorm için gömme sayısı, eğitim sırasında sabitlenir ve çıkarım sırasında maksimum gürültü azaltma adımlarını etkiler.

upcast_attention (bool, isteğe bağlı, varsayılan olarak False) : True ise, potansiyel olarak daha iyi performans için dikkat mekanizması boyutlarını yukarı dönüştürür.

norm_type (str, isteğe bağlı, varsayılan "ada_norm_zero") : Kullanılan normalizasyon türünü belirtir, 'ada_norm_zero' olabilir.

norm_elementwise_affine (bool, isteğe bağlı, varsayılan olarak False) : True ise, normalizasyon katmanlarında öge bazlı afin parametreleri etkinleştirir.

norm_eps (float, isteğe bağlı, varsayılan 1e-5) : Sıfıra bölünmeyi önlemek için normalizasyon katmanlarında paydaya eklenen küçük bir sabit.

DiT'de (https://huggingface.co/papers/2212.09748) tanıtılan 2B bir Transformer modeli.

#### forward[[diffusers.DiTTransformer2DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: typing.Optional[torch.LongTensor] = None, class_labels: typing.Optional[torch.LongTensor] = None, cross_attention_kwargs: dict = None, return_dict: bool = True)
```

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

**Parametreler:**

hidden_states (`torch.LongTensor`, ayrık ise `(batch size, num latent pixels)` boyutunda, `torch.FloatTensor`, sürekli ise `(batch size, channel, height, width)` boyutunda) : Girdi `hidden_states`.

timestep ( `torch.LongTensor`, *isteğe bağlı*) : Gürültü azaltma adımını belirtmek için kullanılır. `AdaLayerNorm` içinde gömme olarak uygulanacak isteğe bağlı zaman adımı.

class_labels ( `torch.LongTensor`, şekli `(batch size, num classes)`, *isteğe bağlı*) : Sınıf etiketi koşullandırmasını belirtmek için kullanılır. `AdaLayerZeroNorm` içinde gömme olarak uygulanacak isteğe bağlı sınıf etiketleri.

cross_attention_kwargs ( `dict[str, Any]`, *isteğe bağlı*) : Belirtilirse, [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py) içindeki `self.processor` altında tanımlanan `AttentionProcessor`'ye aktarılan bir kwargs sözlüğü.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [UNet2DConditionOutput](/docs/diffusers/main/tr/api/models/unet2d-cond#diffusers.models.unets.unet_2d_condition.UNet2DConditionOutput) döndürülecek mi?

**Dönüş:**

`return_dict` True ise, `~models.transformer_2d.Transformer2DModelOutput` döndürülür, aksi takdirde ilk öğesi örnek tensörü olan bir `tuple` döndürülür.

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

