Diffusers documentation

Ideogram4Transformer2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Ideogram4Transformer2DModel

محوّل (Transformer) للبيانات المشابهة للصور من Ideogram 4.

Ideogram4Transformer2DModel

فئة 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[int, int, int] = (24, 20, 20)norm_eps: float = 1e-05 )

المعاملات

  • in_channels (int)، القيمة الافتراضية 128) — عدد القنوات الكامنة بعد التقطيع (ae_channels * patch_size ** 2).
  • num_layers (int، القيمة الافتراضية 34) — عدد كتل التحويل.
  • attention_head_dim (int، القيمة الافتراضية 256) — بعد كل رأس انتباه؛ الحجم المخفي الكلي هو attention_head_dim * num_attention_heads.
  • num_attention_heads (int، القيمة الافتراضية 18) — عدد رؤوس الانتباه.
  • intermediate_size (int، القيمة الافتراضية 12288) — حجم الطبقة المخفية لشبكة التغذية الأمامية المستخدمة بواسطة SwiGLU MLP داخل كل كتلة.
  • adaln_dim (int، القيمة الافتراضية 512) — أبعاد متجه التكييف الذي تستهلكه تعديلات AdaLN.
  • llm_features_dim (int، القيمة الافتراضية 53248) — أبعاد ميزات النص لكل رمز المُدخلة إلى النموذج (عادةً ما تكون نتيجة دمج حالات مخفية من عدة طبقات من مُشفِّر النص).
  • rope_theta (int) — الأساس المستخدم في تضمين الموضع الدوراني متعدد المحاور.
  • mrope_section (tuple[int, int, int])، القيمة الافتراضية (24, 20, 20)) — عدد الترددات المخصصة لكل محور من محاور (t, h, w) في MRoPE.
  • norm_eps (float، القيمة الافتراضية 1e-5) — قيمة إيبسلون المستخدمة في وحدات RMSNorm داخل كتل التحويل (transformer blocks).

هيكل الترانسفورمر المطابق للتدفق (flow-matching) المستخدم في خط أنابيب Ideogram 4.

يعمل المحوّل على تسلسل واحد مُجمّع يحتوي على رموز نصية شرطية (تنتجها مُشفّرة نصية متعددة الوسائط) وعلى كامنات الصور المُقسّمة إلى رقعات. تُميّز المؤشرات لكل رمز بين الدورين، ويقيّد قناع الانتباه القطري الكتلوي المشتق من segment_ids كل عينة بحيث تنتبه إلى نفسها فقط ضمن الدفعة المُجمّعة.

forward

< >

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

المعاملات

  • hidden_states (torch.Tensor من الشكل (batch_size, sequence_length, in_channels)) — تسلسل مُجمَّع من رموز الصور الضجيجية المُقسَّمة إلى بقع. يتم إخفاء المواضع غير المرتبطة بالصور داخليًا.
  • timestep (torch.Tensor من الشكل (batch_size,) أو (batch_size, sequence_length)) — زمن مطابقة التدفق في [0, 1] (حيث 0 يمثل الضوضاء النقية، و1 يمثل البيانات النظيفة).
  • encoder_hidden_states (torch.Tensor من الشكل (batch_size, sequence_length, llm_features_dim)) — ميزات تكييف نصية لكل رمز. يتم إخفاء المواضع غير النصية داخليًا.
  • position_ids (torch.Tensor من الشكل (batch_size, sequence_length, 3)) — إحداثيات (t, h, w) تستهلكها آلية RoPE متعددة المحاور.
  • segment_ids (torch.Tensor من الشكل (batch_size, sequence_length)) — معرّف العينة لكل رمز داخل الدفعة المعبأة. المواقع التي تتشارك segment_id تتفاعل مع بعضها البعض.
  • indicator (torch.Tensor من الشكل (batch_size, sequence_length)) — دور كل رمز: LLM_TOKEN_INDICATOR (نص) أو OUTPUT_IMAGE_INDICATOR (صورة).
  • attention_kwargs (dict، اختياري) — قاموس kwargs يُمرَّر إلى معالج الانتباه. يُقيّم إدخال "scale" أوزان LoRA (عند تفعيل واجهة PEFT).
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع Transformer2DModelOutput بدلاً من tuple عادي.

تنبّأ بسرعة مطابقة التدفق لمواقع رموز الصورة في التسلسل المُجمَّع.

Update on GitHub