Diffusers documentation

DiTTransformer2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DiTTransformer2DModel

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

DiTTransformer2DModel

فئة diffusers.DiTTransformer2DModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 72in_channels: int = 4out_channels: int | None = Nonenum_layers: int = 28dropout: float = 0.0norm_num_groups: int = 32attention_bias: bool = Truesample_size: int = 32patch_size: int = 2activation_fn: str = 'gelu-approximate'num_embeds_ada_norm: int | None = 1000upcast_attention: bool = Falsenorm_type: str = 'ada_norm_zero'norm_elementwise_affine: bool = Falsenorm_eps: float = 1e-05 )

المعاملات

  • num_attention_heads (int، اختياري، القيمة الافتراضية 16) — عدد الرؤوس المستخدمة في الانتباه متعدد الرؤوس.
  • attention_head_dim (int، اختياري، القيمة الافتراضية 72) — عدد القنوات في كل رأس.
  • in_channels (int، القيمة الافتراضية 4) — عدد القنوات في المدخلات.
  • out_channels (int, optional) — عدد القنوات في المخرجات. حدد هذا المعامل إذا كان عدد قنوات المخرجات يختلف عن المدخلات.
  • num_layers (int، اختياري، القيمة الافتراضية 28) — عدد طبقات كتل Transformer المستخدمة.
  • dropout (float، اختياري، القيمة الافتراضية 0.0) — احتمال الإسقاط (dropout) المستخدم داخل كتل Transformer.
  • norm_num_groups (int, اختياري، القيمة الافتراضية 32) — عدد المجموعات لتطبيع المجموعات داخل كتل Transformer.
  • attention_bias (bool، اختياري، القيمة الافتراضية True) — تكوين ما إذا كان ينبغي أن تحتوي انتباه كتل Transformer على معامل انحياز.
  • sample_size (int، القيمة الافتراضية 32) — عرض الصور الكامنة. يتم تثبيت هذا المعامل أثناء التدريب.
  • patch_size (int، القيمة الافتراضية 2) — حجم البُقع التي يعالجها النموذج، وهو ذو صلة بالهياكل المعمارية التي تعمل على بيانات غير متسلسلة.
  • activation_fn (str, اختياري، القيمة الافتراضية “gelu-approximate”) — دالة التنشيط المستخدمة في الشبكات الأمامية داخل كتل Transformer.
  • num_embeds_ada_norm (int, اختياري، القيمة الافتراضية 1000) — عدد التضمينات الخاصة بـ AdaLayerNorm، وهو ثابت أثناء التدريب ويؤثر على عدد خطوات إزالة الضوضاء القصوى أثناء الاستدلال.
  • upcast_attention (bool، اختياري، الافتراضي False) — إذا كانت القيمة true، يتم رفع أبعاد آلية الانتباه (attention) لتحسين الأداء المحتمل.
  • norm_type (str، اختياري، القيمة الافتراضية “ada_norm_zero”) — يحدد نوع التطبيع المستخدم، ويمكن أن يكون ‘ada_norm_zero’.
  • norm_elementwise_affine (bool، اختياري، القيمة الافتراضية False) — إذا كانت القيمة صحيحة، يتم تفعيل معاملات التحويل الأفيني لكل عنصر في طبقات التطبيع.
  • norm_eps (float, اختياري، القيمة الافتراضية 1e-5) — ثابت صغير يُضاف إلى المقام في طبقات التطبيع لمنع القسمة على الصفر.

نموذج Transformer ثنائي الأبعاد كما تم تقديمه في DiT (https://huggingface.co/papers/2212.09748).

forward

< >

( hidden_states: Tensortimestep: typing.Optional[torch.LongTensor] = Noneclass_labels: typing.Optional[torch.LongTensor] = Nonecross_attention_kwargs: dict[str, typing.Any] = Nonereturn_dict: bool = True )

المعاملات

  • hidden_states (torch.LongTensor من الشكل (batch size, num latent pixels) إذا كانت منفصلة، torch.FloatTensor من الشكل (batch size, channel, height, width) إذا كانت مستمرة) — مدخلات hidden_states.
  • timestep ( torch.LongTensor, اختياري) — يُستخدم للإشارة إلى خطوة إزالة الضوضاء. خطوة زمنية اختيارية تُطبَّق كتمثيل مضمّن في AdaLayerNorm.
  • class_labels ( torch.LongTensor من الشكل (batch size, num classes)، اختياري) — يُستخدم للإشارة إلى تسميات الفئات الشرطية. تسميات فئات اختيارية تُطبَّق كتمثيل مضمّن (embedding) في AdaLayerZeroNorm.
  • cross_attention_kwargs ( dict[str, Any], اختياري) — قاموس kwargs يُمرَّر إلى AttentionProcessor كما هو معرَّف تحت self.processor في diffusers.models.attention_processor إذا تمَّ تحديده.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع UNet2DConditionOutput بدلاً من tuple عادي.

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

Update on GitHub