Diffusers documentation
Ideogram4Transformer2DModel
Ideogram4Transformer2DModel
Transformer untuk data seperti gambar dari Ideogram 4.
Ideogram4Transformer2DModel
kelas diffusers.Ideogram4Transformer2DModel
< source >( 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 adalahattention_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
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorposition_ids: Tensorsegment_ids: Tensorindicator: Tensorattention_kwargs: dict | None = Nonereturn_dict: bool = True )
Parameter
- hidden_states (
torch.Tensordengan 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.Tensordengan 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.Tensordengan bentuk(batch_size, sequence_length, llm_features_dim)) — Fitur kondisioning teks per token. Posisi non-teks dimask secara internal. - position_ids (
torch.Tensordengan bentuk(batch_size, sequence_length, 3)) — koordinat(t, h, w)yang digunakan oleh RoPE multi-sumbu. - segment_ids (
torch.Tensordengan bentuk(batch_size, sequence_length)) — ID sampel per token dalam batch yang dikemas. Posisi yang berbagisegment_idsaling memperhatikan satu sama lain. - indicator (
torch.Tensordengan bentuk(batch_size, sequence_length)) — Peran per token:LLM_TOKEN_INDICATOR(teks) atauOUTPUT_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, defaultTrue) — Apakah akan mengembalikan Transformer2DModelOutput alih-alih tuple biasa.
Prediksikan kecepatan flow-matching untuk posisi token gambar dari urutan yang dikemas.