Buckets:

hf-doc-build/doc / diffusers /main /tr /api /models /transformer2d.md
mishig's picture
|
download
raw
8.22 kB

Transformer2DModel

CompVis kaynaklı görüntü benzeri veriler için Vision Transformer'a dayalı bir Transformer modeli. Transformer2DModel, ayrık (vektör gömme sınıfları) veya sürekli (gerçek gömme) girdileri kabul eder.

Girdi sürekli olduğunda:

  1. Girdiyi projekte edin ve (batch_size, sequence_length, feature_dimension) şeklinde yeniden boyutlandırın.
  2. Transformer bloklarını standart şekilde uygulayın.
  3. Görüntüye yeniden şekillendir.

Girdi ayrık olduğunda:

Giriş sınıflarından birinin maskelenmiş gizli (latent) piksel olduğu varsayılır. Gürültüsü kaldırılmış görüntünün tahmin edilen sınıfları, maskelenmiş piksel için bir tahmin içermez çünkü gürültüsü kaldırılmış görüntü maskelenemez.

  1. Girdiyi (latent piksel sınıfları) gömümlere dönüştürün ve konumsal gömümleri uygulayın.
  2. Transformer bloklarını standart şekilde uygulayın.
  3. Gürültüsü olmayan görüntünün sınıflarını tahmin edin.

Transformer2DModel[[diffusers.Transformer2DModel]]

diffusers.Transformer2DModel[[diffusers.Transformer2DModel]]

diffusers.Transformer2DModel(num_attention_heads: int = 16, attention_head_dim: int = 88, in_channels: int | None = None, out_channels: int | None = None, num_layers: int = 1, dropout: float = 0.0, norm_num_groups: int = 32, cross_attention_dim: int | None = None, attention_bias: bool = False, sample_size: int | None = None, num_vector_embeds: int | None = None, patch_size: int | None = None, activation_fn: str = 'geglu', num_embeds_ada_norm: int | None = None, use_linear_projection: bool = False, only_cross_attention: bool = False, double_self_attention: bool = False, upcast_attention: bool = False, norm_type: str = 'layer_norm', norm_elementwise_affine: bool = True, norm_eps: float = 1e-05, attention_type: str = 'default', caption_channels: int = None, interpolation_scale: float = None, use_additional_conditions: bool | None = None)

Kaynak

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 88) : Her baştaki kanal sayısı.

in_channels (int, isteğe bağlı) : Giriş ve çıkıştaki kanal sayısı (giriş sürekli ise belirtin).

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

dropout (float, opsiyonel, varsayılan 0.0) : Kullanılacak dropout olasılığı.

cross_attention_dim (int, isteğe bağlı) : Kullanılacak encoder_hidden_states boyutlarının sayısı.

sample_size (int, isteğe bağlı) : Gizli görüntülerin genişliği (girdi ayrık ise belirtin). Bu, konum gömme sayısını öğrenmek için kullanıldığından eğitim sırasında sabittir.

num_vector_embeds (int, isteğe bağlı) : Gizli piksellerin vektör gömmelemelerinin sınıf sayısı (girdi ayrık ise belirtin). Maskelenmiş gizli piksel sınıfını içerir.

activation_fn (str, isteğe bağlı, varsayılan "geglu") : Feed-forward'de kullanılacak aktivasyon fonksiyonu.

num_embeds_ada_norm ( int, isteğe bağlı) : Eğitim sırasında kullanılan difüzyon adım sayısı. norm_layers'dan en az biri AdaLayerNorm ise bunu iletin. Gizli durumlara eklenen gömme sayısını öğrenmek için kullanıldığından eğitim sırasında sabittir. Çıkarım sırasında, num_embeds_ada_norm değerinden fazla olmamak üzere bu kadar adıma kadar gürültü azaltma yapabilirsiniz.

attention_bias (bool, isteğe bağlı) : TransformerBlocks dikkatinin bir bias parametresi içermesini yapılandırır.

Görsel benzeri veriler için 2B Transformer modeli.

forward[[diffusers.Transformer2DModel.forward]]

forward(hidden_states: Tensor, encoder_hidden_states: typing.Optional[torch.Tensor] = None, timestep: typing.Optional[torch.LongTensor] = None, added_cond_kwargs: dict = None, class_labels: typing.Optional[torch.LongTensor] = None, cross_attention_kwargs: dict = None, attention_mask: typing.Optional[torch.Tensor] = None, encoder_attention_mask: typing.Optional[torch.Tensor] = None, return_dict: bool = True)

Kaynak

Parametreler:

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

encoder_hidden_states ( torch.Tensor, şekli (batch size, sequence len, embed dims), opsiyonel) : Çapraz dikkat katmanı için koşullu gömme değerleri. Verilmezse, çapraz dikkat varsayılan olarak kendine dikkat (self-attention) olarak çalışır.

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 içindeki self.processor altında tanımlanan AttentionProcessor'ye aktarılan bir kwargs sözlüğü.

attention_mask ( torch.Tensor, isteğe bağlı) : (batch, key_tokens) biçimindeki bir dikkat maskesi, encoder_hidden_states üzerine uygulanır. Değer 1 ise maske korunur, aksi halde 0 ise atılır. Maske, "at" token'larına karşılık gelen dikkat puanlarına büyük negatif değerler ekleyen bir önyargıya dönüştürülür.

encoder_attention_mask ( torch.Tensor, isteğe bağlı) : encoder_hidden_states uygulanan çapraz dikkat maskesi. İki format desteklenir: * Mask (batch, sequence_length) True = koru, False = at. * Bias (batch, 1, sequence_length) 0 = koru, -10000 = at. ndim == 2 ise: bir maske olarak yorumlanır, ardından yukarıdaki formata uygun bir bias'a dönüştürülür. Bu bias, çapraz dikkat puanlarına eklenir.

return_dict (bool, isteğe bağlı, varsayılan True) : Düz bir tuple yerine UNet2DConditionOutput döndürülecek mi?

Dönüş:

return_dict True ise bir Transformer2DModelOutput döndürülür, aksi halde ilk öğesi örnek tensörü olan bir tuple döndürülür.

Transformer2DModel ileri yöntemi.

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

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

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

Kaynak

Parametreler:

sample (torch.Tensor, şekli (batch_size, num_channels, height, width) veya 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'nin çıktısı.

Xet Storage Details

Size:
8.22 kB
·
Xet hash:
62f24caf35dcb4707be7dea06084cb2d40d28c358e4320192a93d9c06f60ce79

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.