Diffusers documentation

Flux2Transformer2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Flux2Transformer2DModel

نموذج Transformer لبيانات تشبه الصور من Flux2.

Flux2Transformer2DModel

فئة diffusers.Flux2Transformer2DModel

< >

( patch_size: int = 1in_channels: int = 128out_channels: int | None = Nonenum_layers: int = 8num_single_layers: int = 48attention_head_dim: int = 128num_attention_heads: int = 48joint_attention_dim: int = 15360timestep_guidance_channels: int = 256mlp_ratio: float = 3.0axes_dims_rope: tuple[int, ...] = (32, 32, 32, 32)rope_theta: int = 2000eps: float = 1e-06guidance_embeds: bool = True )

المعاملات

  • patch_size (int، القيمة الافتراضية 1) — حجم الباتش لتحويل البيانات المدخلة إلى باتشات صغيرة.
  • in_channels (int)، القيمة الافتراضية 128) — عدد القنوات في المدخلات.
  • out_channels (int، اختياري، القيمة الافتراضية None) — عدد القنوات في المخرجات. إذا لم يُحدد، تكون القيمة الافتراضية in_channels.
  • num_layers (int، القيمة الافتراضية 8) — عدد طبقات كتل DiT ذات التدفق المزدوج التي سيتم استخدامها.
  • num_single_layers (int، القيمة الافتراضية 48) — عدد طبقات كتل DiT ذات التدفق الواحد المستخدمة.
  • attention_head_dim (int، القيمة الافتراضية 128) — عدد الأبعاد المستخدمة لكل رأس انتباه.
  • num_attention_heads (int، القيمة الافتراضية 48) — عدد رؤوس الانتباه (attention heads) المستخدمة.
  • joint_attention_dim (int، القيمة الافتراضية 15360) — عدد الأبعاد المستخدمة للانتباه المشترك (بعد التضمين/القناة الخاص بـ encoder_hidden_states).
  • pooled_projection_dim (int، القيمة الافتراضية 768) — عدد الأبعاد المستخدمة في الإسقاط المجمّع.
  • guidance_embeds (bool، القيمة الافتراضية True) — ما إذا كان سيتم استخدام تضمينات التوجيه (guidance embeddings) للنسخة المُقطَّرة بالتوجيه من النموذج.
  • axes_dims_rope (tuple[int]، القيمة الافتراضية (32, 32, 32, 32)) — الأبعاد المستخدمة للتضمينات الموضعية الدوارة.

نموذج Transformer الذي تم تقديمه في Flux 2.

مرجع: https://blackforestlabs.ai/announcing-black-forest-labs/

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneguidance: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Truekv_cache: Flux2KVCache | None = Nonekv_cache_mode: str | None = Nonenum_ref_tokens: int = 0ref_fixed_timestep: float = 0.0 )

المعاملات

  • hidden_states (torch.Tensor من الشكل (batch_size, image_sequence_length, in_channels)) — مدخلات hidden_states.
  • encoder_hidden_states (torch.Tensor من الشكل (batch_size, text_sequence_length, joint_attention_dim)) — تضمينات شرطية (تضمينات محسوبة من الشروط المدخلة مثل الأوامر النصية) للاستخدام.
  • timestep (torch.LongTensor) — يُستخدم للإشارة إلى خطوة إزالة الضوضاء.
  • img_ids (torch.Tensor) — معرّفات مواضع الصور المستخدمة لحساب التضمينات الموضعية الدوارة.
  • txt_ids (torch.Tensor) — معرّفات مواضع النص المستخدمة لحساب التضمينات الموضعية الدوارة.
  • guidance (torch.Tensor، اختياري) — تضمين مقياس التوجيه المستخدم في النسخ المُقطّرة بالتوجيه من النموذج.
  • joint_attention_kwargs (dict، اختياري) — قاموس kwargs يُمرَّر إلى AttentionProcessor كما هو معرَّف تحت self.processor في diffusers.models.attention_processor إذا تمَّ تحديده.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~models.transformer_2d.Transformer2DModelOutput بدلاً من tuple عادي.
  • kv_cache (Flux2KVCache، اختياري) — ذاكرة مؤقتة (KV cache) لرموز صورة المرجع. عندما يكون kv_cache_mode هو “extract”, يتم إنشاء ذاكرة مؤقتة جديدة وإعادتها. أما عندما يكون “cached”, فتُستخدم الذاكرة المؤقتة المُقدَّمة لحقن K/V المرجعي أثناء الانتباه.
  • kv_cache_mode (str، اختياري) — إحدى القيمتين: “extract” (الخطوة الأولى مع الرموز المرجعية) أو “cached” (الخطوات اللاحقة باستخدام K/V المرجعي المخزّن مؤقتًا). عند تعيين None، يتم تنفيذ تمرير أمامي قياسي دون تخزين مؤقت لـ KV.
  • num_ref_tokens (int، القيمة الافتراضية 0) — عدد رموز صورة المرجع المُضافة إلى بداية hidden_states (تُستخدم فقط عند kv_cache_mode="extract").
  • ref_fixed_timestep (float، القيمة الافتراضية 0.0) — خطوة زمنية ثابتة لتعديل رمز المرجع (يُستخدم فقط عندما يكون kv_cache_mode="extract").

طريقة Flux2Transformer2DModel الأمامية.

Flux2Transformer2DModelOutput

فئة diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput

< >

( sample: torch.Tensorkv_cache: Flux2KVCache | None = None )

المعاملات

  • sample (torch.Tensor من الشكل (batch_size, num_channels, height, width)) — مخرجات الحالات المخفية المشروطة على مدخل encoder_hidden_states.
  • kv_cache (Flux2KVCache، اختياري) — ذاكرة KV المعبأة لرموز صورة المرجع. لا تُعاد إلا عندما يكون kv_cache_mode="extract".

مخرجات Flux2Transformer2DModel.

Update on GitHub