Diffusers documentation
Flux2Transformer2DModel
Flux2Transformer2DModel
نموذج Transformer لبيانات تشبه الصور من Flux2.
Flux2Transformer2DModel
فئة diffusers.Flux2Transformer2DModel
< source >( 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
< source >( 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
< source >( sample: torch.Tensorkv_cache: Flux2KVCache | None = None )
مخرجات Flux2Transformer2DModel.