Diffusers documentation

PixArtTransformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

PixArtTransformer2DModel

PixArt-Alpha ve PixArt-Sigma'dan görüntü benzeri veriler için bir Transformer modeli.

PixArtTransformer2DModel

sınıf diffusers.PixArtTransformer2DModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 72in_channels: int = 4out_channels: int | None = 8num_layers: int = 28dropout: float = 0.0norm_num_groups: int = 32cross_attention_dim: int | None = 1152attention_bias: bool = Truesample_size: int = 128patch_size: int = 2activation_fn: str = 'gelu-approximate'num_embeds_ada_norm: int | None = 1000upcast_attention: bool = Falsenorm_type: str = 'ada_norm_single'norm_elementwise_affine: bool = Falsenorm_eps: float = 1e-06interpolation_scale: int | None = Noneuse_additional_conditions: bool | None = Nonecaption_channels: int | None = Noneattention_type: str | None = 'default' )

Parametreler

  • num_attention_heads (int, isteğe bağlı, varsayılan 16) — Çok başlı dikkat (multi-head attention) 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, optional) — Çıktıdaki kanal sayısı. Çıktı kanal sayısı girdiden farklıysa bu parametreyi belirtin.
  • num_layers (int, isteğe bağlı, varsayılan 28) — Kullanılacak Transformer bloklarının 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, optional, defaults to 32) — Transformer blokları içinde grup normalizasyonu için grup sayısı.
  • cross_attention_dim (int, optional) — Çapraz dikkat (cross-attention) katmanları için boyut, genellikle kodlayıcının gizli boyutuyla eşleşir.
  • attention_bias (bool, isteğe bağlı, varsayılan True) — Transformer bloklarının dikkat (attention) mekanizmasının bir bias parametresi içermesini yapılandırır.
  • sample_size (int, varsayılan 128) — 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 yamaların boyutu; sıralı olmayan verilerle çalışan mimariler için geçerlidir.
  • activation_fn (str, optional, varsayılan “gelu-approximate”) — Transformer blokları içindeki ileri beslemeli ağlarda kullanılacak aktivasyon fonksiyonu.
  • num_embeds_ada_norm (int, optional, defaults to 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 False) — True ise, potansiyel olarak performansın iyileştirilmesi için dikkat mekanizmasının boyutlarını yukarı dönüştürür.
  • norm_type (str, optional, 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 False) — True ise, normalizasyon katmanlarında öge bazlı afin parametreleri etkinleştirir.
  • norm_eps (float, optional, varsayılan 1e-6) — Normalizasyon katmanlarında paydadaki bölme sıfıra bölme hatasını önlemek için eklenen küçük bir sabit.
  • interpolation_scale (int, isteğe bağlı) — Pozisyon gömme (embedding) interpolasyonu sırasında kullanılacak ölçek çarpanı.
  • use_additional_conditions (bool, isteğe bağlı) — Girdi olarak ek koşullar kullanılıyorsa.
  • attention_type (str, isteğe bağlı, varsayılan “default”) — Kullanılacak dikkat mekanizmasının türü.
  • caption_channels (int, isteğe bağlı, varsayılan: None) — Başlık gömme projeksiyonu için kullanılacak kanal sayısı.
  • use_linear_projection (bool, isteğe bağlı, varsayılan olarak False) — Kullanımı durdurulmuş argüman. Gelecekteki bir sürümde kaldırılacak.
  • num_vector_embeds (bool, isteğe bağlı, varsayılan olarak False) — Kullanımdan kaldırılmış argüman. Gelecekteki bir sürümde kaldırılacak.

PixArt model ailesinde tanıtılan 2B Transformer modeli (https://huggingface.co/papers/2310.00426, https://huggingface.co/papers/2403.04692).

forward

< >

( hidden_states: Tensorencoder_hidden_states: typing.Optional[torch.Tensor] = Nonetimestep: typing.Optional[torch.LongTensor] = Noneadded_cond_kwargs: dict = Nonecross_attention_kwargs: dict = Noneattention_mask: typing.Optional[torch.Tensor] = Noneencoder_attention_mask: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

Parametreler

  • hidden_states (torch.FloatTensor, şekli (batch size, channel, height, width)) — Girdi hidden_states.
  • encoder_hidden_states (torch.FloatTensor, şekli (batch size, sequence len, embed dims), isteğe bağlı) — Ç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ı.
  • added_cond_kwargs — (dict[str, Any], isteğe bağlı): Girdi olarak kullanılacak ek koşullar.
  • cross_attention_kwargs ( dict[str, Any], isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindeki self.processor altında tanımlanan AttentionProcessor'a iletilen bir kwargs sözlüğü.
  • attention_mask ( torch.Tensor, isteğe bağlı) — encoder_hidden_states’e (batch, key_tokens) biçiminde bir dikkat maskesi uygulanır. 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ı) — şuna uygulanan çapraz dikkat maskesi encoder_hidden_states. Desteklenen iki biçim:
    • Mask (batch, sequence_length) True = koru, False = at.
    • Yöneltme (batch, 1, sequence_length) 0 = koru, -10000 = at.

    ndim == 2 ise: bir maske olarak yorumlanır, ardından yukarıdaki biçimle tutarlı bir önyargıya dönüştürülür. Bu önyargı çapraz dikkat puanlarına eklenir.

  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine UNet2DConditionOutput döndürülüp döndürülmemesi.

PixArtTransformer2DModel ileri yöntemi.

fuse_qkv_projections

< >

( )

Füzyonlu QKV projeksiyonlarını etkinleştirir. Kendi dikkat (self-attention) modülleri için tüm projeksiyon matrisleri (yani sorgu, anahtar, değer) füzyonlanır. Çapraz dikkat (cross-attention) modülleri için anahtar ve değer projeksiyon matrisleri füzyonlanır.

> Bu API 🧪 deneyseldir.

set_default_attn_processor

< >

( )

Özel dikkat işleyicilerini devre dışı bırakır ve varsayılan dikkat uygulamasını ayarlar.

Varsayılan modelde PixArt’ın sıra dışı dikkat işlemcileri olmadığından, yalnızca AttnProcessor() kullanmak güvenlidir.

unfuse_qkv_projections

< >

( )

Etkinleştirilmişse birleşik QKV projeksiyonunu devre dışı bırakır.

> Bu API 🧪 deneyseldir.

Update on GitHub