Diffusers documentation

Ideogram4Transformer2DModel

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

Ideogram4Transformer2DModel

Ideogram 4'ten görüntü benzeri veriler için bir transformer.

Ideogram4Transformer2DModel

sınıf diffusers.Ideogram4Transformer2DModel

< >

( in_channels: int = 128num_layers: int = 34attention_head_dim: int = 256num_attention_heads: int = 18intermediate_size: int = 12288adaln_dim: int = 512llm_features_dim: int = 53248rope_theta: int = 5000000mrope_section: tuple = (24, 20, 20)norm_eps: float = 1e-05 )

Parametreler

  • in_channels (int, varsayılan 128) — Patchification sonrası latent kanal sayısı (ae_channels * patch_size ** 2).
  • num_layers (int, varsayılan 34) — Transformer bloklarının sayısı.
  • attention_head_dim (int, varsayılan 256) — Her dikkat başının boyutu; toplam gizli boyut attention_head_dim * num_attention_heads'tir.
  • num_attention_heads (int, varsayılan 18) — Dikkat başlarının sayısı.
  • intermediate_size (int, varsayılan 12288) — Her blok içindeki SwiGLU MLP tarafından kullanılan ileri besleme gizli boyutu.
  • adaln_dim (int, varsayılan 512) — AdaLN modülasyonları tarafından tüketilen koşullandırma vektörünün boyutluluğu.
  • llm_features_dim (int, varsayılan 53248) — Modele giren token başına metin özelliklerinin boyutu (genellikle metin kodlayıcısının birkaç katmanındaki gizli durumların birleştirilmesi).
  • rope_theta (int, varsayılan 5_000_000) — Çok eksenli döner konum gömme tarafından kullanılan taban.
  • mrope_section (tuple[int, int, int], varsayılan (24, 20, 20)) — MRoPE'nin (t, h, w) eksenlerinden her birine ayrılan frekans sayısı.
  • norm_eps (float, varsayılan 1e-5) — Transformer blokları içindeki RMSNorm modüllerinin kullandığı epsilon.

Ideogram 4 hattında kullanılan akış eşleştirme (flow-matching) dönüştürücü (transformer) omurgası.

Transformer, hem metin koşullama belirteçlerini (çok modlu metin kodlayıcı tarafından üretilen) hem de yamalanmış görüntü latentlerini içeren tek bir paketlenmiş dizide çalışır. Belirteç başına göstergeler bu iki rolü ayırt eder ve segment_ids türetilen blok köşegen dikkat maskesi, paketlenmiş bir partide her örneğin yalnızca kendisine dikkat etmesini kısıtlar.

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorposition_ids: Tensorsegment_ids: Tensorindicator: Tensorattention_kwargs: dict | None = Nonereturn_dict: bool = True )

Parametreler

  • hidden_states (torch.Tensor, şekli (batch_size, sequence_length, in_channels)) — Patch'lenmiş gürültülü görüntü token'larının paketlenmiş dizisi. Görüntü dışı konumlar içsel olarak maskeleme uygulanır.
  • timestep (torch.Tensor, şekli (batch_size,) veya (batch_size, sequence_length)) — [0, 1] aralığındaki flow-matching zamanı (0 saf gürültü, 1 temiz veridir).
  • encoder_hidden_states (torch.Tensor, şekli (batch_size, sequence_length, llm_features_dim)) — Token başına metin koşullandırma özellikleri. Metin dışı konumlar içsel olarak maskeleme işlemine tabi tutulur.
  • position_ids (torch.Tensor, şekli (batch_size, sequence_length, 3)) — (t, h, w) koordinatları, çok eksenli RoPE tarafından tüketilir.
  • segment_ids (torch.Tensor, şekli (batch_size, sequence_length)) — Paketlenmiş bir batch içindeki token başına örnek kimliği. Aynı segment_id'ye sahip konumlar birbirine dikkat eder.
  • indicator (torch.Tensor, şekli (batch_size, sequence_length)) — Token başına rol: LLM_TOKEN_INDICATOR (metin) veya OUTPUT_IMAGE_INDICATOR (görsel).
  • attention_kwargs (dict, isteğe bağlı) — Dikkat işlemcisine iletilen bir kwargs sözlüğü. "scale" girdisi, LoRA ağırlıklarını ölçekler (PEFT arka ucu etkin olduğunda).
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine Transformer2DModelOutput döndürülüp döndürülmemesi.

Paketlenmiş dizinin görüntü-token konumları için akış-eşleştirme hızını tahmin edin.

Update on GitHub