Diffusers documentation

نموذج SD3 Transformer

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

and get access to the augmented documentation experience

to get started

نموذج SD3 Transformer

نموذج Transformer الذي تم تقديمه في Stable Diffusion 3. تكمن جديته في كتلة MMDiT transformer.

SD3Transformer2DModel

فئة diffusers.SD3Transformer2DModel

< >

( sample_size: int = 128patch_size: int = 2in_channels: int = 16num_layers: int = 18attention_head_dim: int = 64num_attention_heads: int = 18joint_attention_dim: int = 4096caption_projection_dim: int = 1152pooled_projection_dim: int = 2048out_channels: int = 16pos_embed_max_size: int = 96dual_attention_layers: tuple[int, ...] = ()qk_norm: str | None = None )

المعاملات

  • sample_size (int، القيمة الافتراضية 128) — العرض/الارتفاع للكائنات الكامنة. يتم تثبيت هذا أثناء التدريب لأنه يُستخدم لتعلم عدد من تضمينات المواقع.
  • patch_size (int، القيمة الافتراضية 2) — حجم الباتش لتحويل البيانات المدخلة إلى باتشات صغيرة.
  • in_channels (int)، القيمة الافتراضية 16) — عدد قنوات الكمون في المدخلات.
  • num_layers (int، القيمة الافتراضية 18) — عدد طبقات كتل التحويل (transformer blocks) المستخدمة.
  • attention_head_dim (int، القيمة الافتراضية 64) — عدد القنوات في كل رأس.
  • num_attention_heads (int، القيمة الافتراضية 18) — عدد الرؤوس المستخدمة في الانتباه متعدد الرؤوس.
  • joint_attention_dim (int، القيمة الافتراضية 4096) — بعد التضمين (embedding dimension) المستخدم للانتباه المشترك بين النص والصورة.
  • caption_projection_dim (int، القيمة الافتراضية 1152) — بعد التضمين لتضمينات التسميات.
  • pooled_projection_dim (int، القيمة الافتراضية 2048) — بعد التضمين (embedding dimension) لإسقاطات النص المجمعة.
  • out_channels (int، القيمة الافتراضية 16) — عدد القنوات الكامنة في المخرجات.
  • pos_embed_max_size (int، القيمة الافتراضية 96) — الارتفاع/العرض الأقصى للاضمحلال الموضعي.
  • dual_attention_layers (tuple[int, ...])، القيمة الافتراضية ()) — عدد كتل التحويل ذات التدفق المزدوج المستخدمة.
  • qk_norm (str، اختياري، القيمة الافتراضية None) — طريقة التطبيع المستخدمة للاستعلام والمفتاح في طبقة الانتباه. إذا كانت None، فلا يُستخدم أي تطبيع.

نموذج Transformer الذي تم تقديمه في Stable Diffusion 3.

enable_forward_chunking

< >

( chunk_size: int | None = Nonedim: int = 0 )

المعاملات

  • chunk_size (int، اختياري) — حجم الدفعة (chunk size) لطبقات التقدّم الأمامي. إذا لم يُحدَّد، فسيتم تشغيل طبقة التقدّم الأمامي بشكل فردي على كل متجه (tensor) ذي بُعد dim.
  • dim (int، اختياري، القيمة الافتراضية 0) — البُعد الذي يجب تقسيم عملية الحساب الأمامي (feed-forward) عليه. اختر بين dim=0 (الحزمة) أو dim=1 (طول التسلسل).

يحدد معالج الانتباه لاستخدام تقطيع الأمامي.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonepooled_projections: Tensor = Nonetimestep: LongTensor = Noneblock_controlnet_hidden_states: list = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Trueskip_layers: list[int] | None = None )

المعاملات

  • hidden_states (torch.Tensor من الشكل (batch size, channel, height, width)) — مدخلات hidden_states.
  • encoder_hidden_states (torch.Tensor من الشكل (batch size, sequence_len, embed_dims)) — تضمينات شرطية (تضمينات محسوبة من الشروط المدخلة مثل الأوامر النصية) للاستخدام.
  • pooled_projections (torch.Tensor من الشكل (batch_size, projection_dim)) — تمثيلات مُسقطَة من تمثيلات شروط الإدخال.
  • timestep (torch.LongTensor) — يُستخدم للإشارة إلى خطوة إزالة الضوضاء.
  • block_controlnet_hidden_states (list of torch.Tensor) — قائمة من المصفوفات التي إذا تم تحديدها تُضاف إلى بقايا كتل التحوّل.
  • joint_attention_kwargs (dict، اختياري) — قاموس kwargs يُمرَّر إلى AttentionProcessor كما هو معرَّف تحت self.processor في diffusers.models.attention_processor إذا تمَّ تحديده.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~models.transformer_2d.Transformer2DModelOutput بدلاً من tuple عادي.
  • skip_layers (list of int, اختياري) — قائمة بمؤشرات الطبقات التي يجب تجاوزها أثناء المرور الأمامي.

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

fuse_qkv_projections

< >

( )

…

> هذه الواجهة البرمجية 🧪 تجريبية.

unfuse_qkv_projections

< >

( )

يعطّل إسقاط QKV المدمج إذا كان مفعّلًا.

> هذه الواجهة البرمجية 🧪 تجريبية.

Update on GitHub