Diffusers documentation
Ideogram4Transformer2DModel
Ideogram4Transformer2DModel
Ideogram 4'ten görüntü benzeri veriler için bir transformer.
Ideogram4Transformer2DModel
sınıf 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 )
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 boyutattention_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
< source >( 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) veyaOUTPUT_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ılanTrue) — 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.