Diffusers documentation
Ideogram4Transformer2DModel
Ideogram4Transformer2DModel
محوّل (Transformer) للبيانات المشابهة للصور من Ideogram 4.
Ideogram4Transformer2DModel
فئة 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[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
< source >( 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 عادي.
تنبّأ بسرعة مطابقة التدفق لمواقع رموز الصورة في التسلسل المُجمَّع.