Diffusers documentation

Flux3Transformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Flux3Transformer2DModel

نموذج Transformer لبيانات تشبه الصور من FLUX.3، لتوليد الصور من النص وتوليد الصور من الصور. تتشارك ثلاثة أوضاع رموز تسلسلًا مشتركًا واحدًا: رموز الصورة الضجيجية، ورموز الصورة المرجعية المُرمّزة بواسطة VAE، وسياق النص. يمرّ كل وضع أولًا عبر كتل transformer الخاصة به لكل وضع، ثم تُدمج الأوضاع معًا لتمريرها عبر الكتل المفردة المشتركة، وتُمرَّر رموز الصورة عبر طبقات الإخراج. تكون الخطوات الزمنية لكل رمز: تحمل رموز الصورة خطوة تدفق زمنية، بينما تبقى رموز المرجع وسياق النص عند 0.

import torch
from diffusers import Flux3Transformer2DModel

transformer = Flux3Transformer2DModel.from_pretrained(
    "black-forest-labs/flux-3-image-klein-base", subfolder="transformer", dtype=torch.bfloat16
)

Flux3Transformer2DModel

فئة diffusers.Flux3Transformer2DModel

< >

( in_channels: int = 128cond_in_channels: int = 128num_layers: int = 5num_single_layers: int = 28attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 20480timestep_channels: int = 256mlp_ratio: float = 3.0axes_dims_rope: tuple = (32, 32, 32, 32)rope_theta: int = 10000eps: float = 1e-06flow_map: bool = False )

المعاملات

  • in_channels (int، القيمة الافتراضية 128) — عرض قنوات رموز الصورة (المتغيرات الكامنة المعبأة من VAE، latent_channels * 4).
  • cond_in_channels (int، القيمة الافتراضية 128) — عرض القنوات لرموز صورة المرجع.
  • num_layers (int، القيمة الافتراضية 5) — عدد كتل التحويل (transformer blocks) لكل نمط.
  • num_single_layers (int، القيمة الافتراضية 28) — عدد كتل التحوّل المفردة المشتركة.
  • attention_head_dim (int، القيمة الافتراضية 128) — عدد الأبعاد المستخدمة لكل رأس انتباه.
  • num_attention_heads (int، القيمة الافتراضية 24) — عدد رؤوس الانتباه (attention heads) المستخدمة.
  • joint_attention_dim (int، القيمة الافتراضية 20480) — بعد التضمين/القناة الخاص بـ encoder_hidden_states (حالات Qwen3-VL المخفية المكدسة).
  • timestep_channels (int، القيمة الافتراضية 256) — عدد قنوات تضمين خطوة الزمن الجيبية.
  • mlp_ratio (float، القيمة الافتراضية 3.0) — نسبة التوسّع في كتل التغذية الأمامية الفرعية.
  • axes_dims_rope (tuple[int])، القيمة الافتراضية (32, 32, 32, 32)) — الأبعاد المستخدمة للتضمينات الموضعية الدوارة، لكل محور من محاور الموضع (t, h, w, l).
  • rope_theta (int، القيمة الافتراضية 10000) — التردد الأساسي للتضمينات الموضعية الدوارة.
  • eps (float، القيمة الافتراضية 1e-6) — قيمة إبسيلون لطبقات التطبيع (layer norms) وطبقات تطبيع QK.
  • flow_map (bool، القيمة الافتراضية False) — ما إذا كان النموذج خريطة تدفق (مُقطّرة على مستوى الخطوات): يضيف target_timestep_embedder ويتطلب target_timestep في مسار الأمامي.

نموذج Transformer الذي تم تقديمه في FLUX.3 لتوليد الصور من النص وتحويل الصور إلى صور.

تشارك ثلاثة أوضاع للرموز تسلسلًا مشتركًا واحدًا: رموز الصورة الضجيجية (hidden_states)، ورموز صورة المرجع الاختيارية المُرمَّزة بواسطة VAE (image_cond_hidden_states)، وسياق النص (encoder_hidden_states). يمرّ كل وضع أولًا عبر كتل التحوّل الخاصة بالوضع (mode_blocks لأوضاع الصورة، وtxt_mode_blocks لسياق النص)، ثم يُدمج سياق النص مع أوضاع الصورة النشطة للكتل المفردة المشتركة، ولا تمرّ رموز الصورة فقط عبر طبقات الإخراج. التعديل (Modulation) يتم لكل وضع على حدة: تُعدَّل رموز الصورة بخطوة الزمن (timestep) للتدفق، بينما تُعدَّل رموز صورة المرجع وسياق النص بخطوة الزمن 0. يُضمّن نقطة التفتيش الخاصة بخريطة التدفق (flow_map=True، وهي النماذج المُقطَّرة على مستوى الخطوة) خطوة الزمن التي يقفز إليها كل خطوة إزالة ضجيج، ويضيفها إلى تعديل كل وضع.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: Tensorimg_ids: Tensortxt_ids: Tensorimage_cond_hidden_states: typing.Optional[torch.Tensor] = Noneimage_cond_ids: typing.Optional[torch.Tensor] = Nonetarget_timestep: 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, joint_attention_dim)) — تضمينات سياق النص (حالات مخفية مكدسة من Qwen3-VL).
  • timestep (torch.Tensor من الشكل (batch_size,)) — خطوة التدفق في [0, 1] لرموز الصورة. تتواجد رموز الصورة المرجعية وسياق النص عند خطوة 0.
  • img_ids (torch.Tensor من الشكل (image_seq_len, 4)) — معرّفات المواقع (t, h, w, l) لرموز الصورة، وتُستخدم للتضمينات الموضعية الدوّارية، وهي مشتركة بين جميع العينات في الدفعة.
  • txt_ids (torch.Tensor من الشكل (text_seq_len, 4)) — معرّفات المواضع لرموز سياق النص.
  • image_cond_hidden_states (torch.Tensor من الشكل (batch_size, cond_seq_len, cond_in_channels)، اختياري) — رموز صورة مرجعية مُرمّزة بواسطة VAE (محتوى تكييف نظيف، لتوليد صورة من صورة).
  • image_cond_ids (torch.Tensor من الشكل (cond_seq_len, 4)، اختياري) — معرّفات المواضع لرموز الصورة المرجعية. مطلوب مع image_cond_hidden_states.
  • target_timestep (torch.Tensor من الشكل (batch_size,)، اختياري) — خطوة التدفق في [0, 1] التي تقفز إليها خطوة إزالة الضوضاء الحالية. مطلوب من قبل نموذج خريطة التدفق (flow_map=True) فقط، ولا يُطلب من غيره.
  • attention_kwargs (dict، اختياري) — قاموس kwargs يُقيّم طبقات LoRA لهذا المرور الأمامي إذا تم تحديد مدخل scale فيه.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~models.transformer_2d.Transformer2DModelOutput بدلاً من tuple عادي.

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

Transformer2DModelOutput

فئة diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

المعاملات

  • sample (torch.Tensor من الشكل (batch_size, num_channels, height, width) أو (batch size, num_vector_embeds - 1, num_latent_pixels) إذا كان Transformer2DModel منفصلاً) — مخرجات الحالات المخفية المشروطة على مدخل encoder_hidden_states. إذا كان منفصلاً، يعيد توزيعات الاحتمال للبكسلات الكامنة غير الملوثة.

مخرجات Transformer2DModel.

Update on GitHub