Diffusers documentation
Krea2Transformer2DModel
Krea2Transformer2DModel
محوّل مطابقة التدفق MMDiT ذو البث الأحادي المستخدم في Krea 2.
Krea2Transformer2DModel
فئة diffusers.Krea2Transformer2DModel
< source >( in_channels: int = 64num_layers: int = 28attention_head_dim: int = 128num_attention_heads: int = 48num_key_value_heads: int = 12intermediate_size: int = 16384timestep_embed_dim: int = 256text_hidden_dim: int = 2560num_text_layers: int = 12text_num_attention_heads: int = 20text_num_key_value_heads: int = 20text_intermediate_size: int = 6912num_layerwise_text_blocks: int = 2num_refiner_text_blocks: int = 2axes_dims_rope: tuple = (32, 48, 48)rope_theta: float = 1000.0norm_eps: float = 1e-05 )
المعاملات
- in_channels (
int)، القيمة الافتراضية 64 — عدد القنوات الكامنة بعد التقطيع (vae_channels * patch_size ** 2). - num_layers (
int، القيمة الافتراضية 28) — عدد كتل التحويل. - attention_head_dim (
int، القيمة الافتراضية 128) — بعد كل رأس انتباه؛ الحجم المخفي الكلي هوattention_head_dim * num_attention_heads. - num_attention_heads (
int، القيمة الافتراضية 48) — عدد رؤوس الاستعلام. - num_key_value_heads (
int، القيمة الافتراضية 12) — عدد رؤوس المفاتيح/القيم لانتباه الاستعلامات المجمّعة. - intermediate_size (
int، القيمة الافتراضية 16384) — حجم الطبقة المخفية لشبكة MLP من نوع SwiGLU داخل كل كتلة. - timestep_embed_dim (
int، القيمة الافتراضية 256) — عرض تضمين خطوة الزمن الجيبية قبل شبكة MLP الخاصة به. - text_hidden_dim (
int، القيمة الافتراضية 2560) — الحجم الخفي لمُشفِّر النص الذي تُستهلك حالاته الخفية. - num_text_layers (
int، القيمة الافتراضية 12) — عدد حالات المخفي المُستخرجة من مُشفِّر النص المُكدَّسة لكل رمز. - text_num_attention_heads (
int، القيمة الافتراضية 20) — عدد رؤوس الاستعلام في كتل دمج النص. - text_num_key_value_heads (
int، القيمة الافتراضية 20) — عدد رؤوس المفاتيح/القيم في كتل دمج النص. - text_intermediate_size (
int، القيمة الافتراضية 6912) — حجم الطبقة المخفية لشبكة MLP من نوع SwiGLU داخل كتل الدمج النصية. - num_layerwise_text_blocks (
int، القيمة الافتراضية 2) — عدد كتل دمج النص المطبقة عبر محور الطبقات المستخرجة (لكل رمز). - num_refiner_text_blocks (
int، القيمة الافتراضية 2) — عدد كتل دمج النص المطبقة عبر تسلسل الرموز. - axes_dims_rope (
tuple[int, int, int])، القيمة الافتراضية(32, 48, 48)) — تقسيم بُعد الرأس عبر محاور الموضع الدورانية (t, h, w). - rope_theta (
float، القيمة الافتراضية 1000.0) — الأساس المستخدم في تضمين الموضع الدوار. - norm_eps (
float، القيمة الافتراضية 1e-5) — قيمة إبسيلون المستخدمة في جميع وحدات RMSNorm.
هيكل التدفق المطابق (flow-matching) ذو البنية MMDiT أحادية التيار المستخدم في خط أنابيب Krea 2.
تدخل حالة النص الشرطية على شكل مجموعة من الحالات المخفية المستخرجة من عدة طبقات في مُشفِّر نصي متعدد الوسائط. يقوم مُحوِّل دمج نصي صغير بدمج محور الطبقات وتحسين تسلسل الرموز؛ ثم يُدمج الناتج مع كامنات الصورة المقطّعة في تسلسل واحد [text, image] تتم معالجته بواسطة كتل التحويل. يشترط الزمن كل كتلة عبر متجه تعديل مشترك واحد بالإضافة إلى جداول متعلمة لكل كتلة.
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensortimestep: Tensorposition_ids: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )
المعاملات
- hidden_states (
torch.Tensorمن الشكل(batch_size, image_seq_len, in_channels)) — كائنات الصورة الضوضائية المعبأة (المقسمة إلى رقعات). - encoder_hidden_states (
torch.Tensorمن الشكل(batch_size, text_seq_len, num_text_layers, text_hidden_dim)) — مكدّس لحالات المُشفِّر النصي المخفية المُلتقطة لكل رمز. - timestep (
torch.Tensorمن الشكل(batch_size,)) — زمن مطابقة التدفق في[0, 1](حيث يمثل 1 ضوضاء نقية، و0 بيانات نظيفة). - position_ids (
torch.Tensorمن الشكل(text_seq_len + image_seq_len, 3)) — إحداثيات دوّارة(t, h, w)للتسلسل المدمج. صفوف النص كلها صفرية؛ بينما تحتوي صفوف الصورة على إحداثيات الشبكة الكامنة. - encoder_attention_mask (
torch.Tensorمن الشكل(batch_size, text_seq_len)، اختياري) — قناع منطقي يحدد الرموز النصية الصالحة. مرّرNoneعندما تكون جميع الرموز النصية صالحة. - attention_kwargs (
dict، اختياري) — قاموس kwargs الذي، عند احتوائه على مدخلscale، يضبط مقياس LoRA المطبّق على محوِّلات هذا التحويلي (transformer) طوال مدة المرور الأمامي. - return_dict (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إرجاع Transformer2DModelOutput بدلاً من tuple عادي.
تنبّأ بسرعة مطابقة التدفق لرموز الصورة.