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

Transformer untuk data seperti gambar dari Ideogram 4.

Ideogram4Transformer2DModel

kelas 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 )

Parameter

  • in_channels (int, default 128) — Jumlah channel laten setelah patchification (ae_channels * patch_size ** 2).
  • num_layers (int, defaultnya 34) — Jumlah blok transformer.
  • attention_head_dim (int, default 256) — Dimensi setiap kepala perhatian; ukuran tersembunyi total adalah attention_head_dim * num_attention_heads.
  • num_attention_heads (int, defaultnya 18) — Jumlah kepala perhatian (attention heads).
  • intermediate_size (int, default 12288) — Ukuran tersembunyi feed-forward yang digunakan oleh MLP SwiGLU di dalam setiap blok.
  • adaln_dim (int, defaultnya 512) — Dimensi dari vektor kondisioning yang dikonsumsi oleh modulasi AdaLN.
  • llm_features_dim (int, default 53248) — Dimensi fitur teks per token yang dimasukkan ke dalam model (biasanya merupakan konkatenasi dari hidden states dari beberapa lapisan text encoder).
  • rope_theta (int, defaultnya 5_000_000) — Basis yang digunakan oleh penyematan posisi rotasi multi-sumbu.
  • mrope_section (tuple[int, int, int], defaultnya (24, 20, 20)) — Jumlah frekuensi yang dialokasikan untuk masing-masing sumbu (t, h, w) dari MRoPE.
  • norm_eps (float, defaultnya 1e-5) — Epsilon yang digunakan oleh modul RMSNorm di dalam blok transformer.

Backbone transformer flow-matching yang digunakan oleh pipeline Ideogram 4.

Transformer beroperasi pada satu urutan terpadu (packed sequence) yang berisi token pengkondisian teks (dihasilkan oleh encoder teks multimodal) dan latens gambar yang telah dipatch. Indikator per-token membedakan kedua peran tersebut, dan mask perhatian diagonal blok yang diturunkan dari segment_ids membatasi setiap sampel agar hanya memperhatikan dirinya sendiri dalam batch terpadu.

forward

< >

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

Parameter

  • hidden_states (torch.Tensor dengan bentuk (batch_size, sequence_length, in_channels)) — Urutan terkemas dari token gambar berisik yang telah di-patch. Posisi non-gambar dimask secara internal.
  • timestep (torch.Tensor dengan bentuk (batch_size,) atau (batch_size, sequence_length)) — Waktu flow-matching dalam [0, 1] (0 adalah noise murni, 1 adalah data bersih).
  • encoder_hidden_states (torch.Tensor dengan bentuk (batch_size, sequence_length, llm_features_dim)) — Fitur kondisioning teks per token. Posisi non-teks dimask secara internal.
  • position_ids (torch.Tensor dengan bentuk (batch_size, sequence_length, 3)) — koordinat (t, h, w) yang digunakan oleh RoPE multi-sumbu.
  • segment_ids (torch.Tensor dengan bentuk (batch_size, sequence_length)) — ID sampel per token dalam batch yang dikemas. Posisi yang berbagi segment_id saling memperhatikan satu sama lain.
  • indicator (torch.Tensor dengan bentuk (batch_size, sequence_length)) — Peran per token: LLM_TOKEN_INDICATOR (teks) atau OUTPUT_IMAGE_INDICATOR (gambar).
  • attention_kwargs (dict, opsional) — Kamus kwargs yang diteruskan ke pemroses attention. Entri "scale" menskalakan bobot LoRA (ketika backend PEFT aktif).
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan Transformer2DModelOutput alih-alih tuple biasa.

Prediksikan kecepatan flow-matching untuk posisi token gambar dari urutan yang dikemas.

Update on GitHub