Diffusers documentation

CosmosTransformer3DModel

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

CosmosTransformer3DModel

تم تقديم نموذج Diffusion Transformer لبيانات تشبه الفيديو ثلاثي الأبعاد في منصة Cosmos World Foundation Model Platform for Physical AI من NVIDIA.

يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.

from diffusers import CosmosTransformer3DModel

transformer = CosmosTransformer3DModel.from_pretrained("nvidia/Cosmos-1.0-Diffusion-7B-Text2World", subfolder="transformer", dtype=torch.bfloat16)

CosmosTransformer3DModel

فئة diffusers.CosmosTransformer3DModel

< >

( in_channels: int = 16out_channels: int = 16num_attention_heads: int = 32attention_head_dim: int = 128num_layers: int = 28mlp_ratio: float = 4.0text_embed_dim: int = 1024adaln_lora_dim: int = 256max_size: tuple[int, int, int] = (128, 240, 240)patch_size: tuple[int, int, int] = (1, 2, 2)rope_scale: tuple[float, float, float] = (2.0, 1.0, 1.0)concat_padding_mask: bool = Trueextra_pos_embed_type: str | None = 'learnable'use_crossattn_projection: bool = Falsecrossattn_proj_in_channels: int = 1024encoder_hidden_states_channels: int = 1024controlnet_block_every_n: int | None = Noneimg_context_dim_in: int | None = Noneimg_context_num_tokens: int = 256img_context_dim_out: int = 2048 )

المعاملات

  • in_channels (int)، القيمة الافتراضية 16 — عدد القنوات في المدخلات.
  • out_channels (int، القيمة الافتراضية 16) — عدد القنوات في المخرجات.
  • num_attention_heads (int، القيمة الافتراضية 32) — عدد الرؤوس المستخدمة في الانتباه متعدد الرؤوس.
  • attention_head_dim (int، القيمة الافتراضية 128) — عدد القنوات في كل رأس انتباه.
  • num_layers (int، القيمة الافتراضية 28) — عدد طبقات كتل التحويل (transformer blocks) المستخدمة.
  • mlp_ratio (float، القيمة الافتراضية 4.0) — نسبة حجم الطبقة المخفية إلى حجم الإدخال في الشبكة الأمامية.
  • text_embed_dim (int، القيمة الافتراضية 4096) — البُعد المدخل لتضمينات النص من مُشفِّر النص.
  • adaln_lora_dim (int، القيمة الافتراضية 256) — البُعد الخفي لطبقة Adaptive LayerNorm LoRA.
  • max_size (tuple[int, int, int])، القيمة الافتراضية (128, 240, 240)) — الحد الأقصى لحجم تينسورات الكامنة المدخلة في الأبعاد الزمنية والارتفاع والعرض.
  • patch_size (tuple[int, int, int])، القيمة الافتراضية (1, 2, 2)) — حجم الباتش المستخدم لتقطيع تينسورات الكامنة المدخلة في الأبعاد الزمنية والارتفاعية والعرضية.
  • rope_scale (tuple[float, float, float])، القيمة الافتراضية (2.0, 1.0, 1.0)) — عامل التوسيع المستخدم لـ RoPE في الأبعاد الزمنية والارتفاع والعرض.
  • concat_padding_mask (bool، القيمة الافتراضية True) — ما إذا كان يجب دمج قناع الحشو مع متجهات الكامنة المدخلة.
  • extra_pos_embed_type (str، اختياري، القيمة الافتراضية learnable) — نوع التضمينات الموضعية الإضافية المستخدمة. يمكن أن يكون None أو learnable.
  • controlnet_block_every_n (int, اختياري) — الفاصل بين كتل التحويل (transformer blocks) التي يجب أن تستقبل بقايا التحكم (control residuals) (على سبيل المثال، 7 لحقنها بعد كل سابع كتلة). مطلوب لنموذج Cosmos Transfer2.5.
  • img_context_dim_in (int, اختياري) — بعد متجه ميزات سياق الصورة المُدخل، أي إنه يمثل D في [B, N, D].
  • img_context_num_tokens (int) — عدد الرموز في متجه ميزات سياق الصورة، أي إنه يمثل N في [B, N, D]. إذا لم يُقدَّم img_context_dim_in، يتم تجاهل هذا المعامل.
  • img_context_dim_out (int) — البُعد المُخرَج لطبقة الإسقاط السياقي للصورة. إذا لم يُقدَّم img_context_dim_in، يتم تجاهل هذا المعامل.

نموذج Transformer لبيانات تشبه الفيديو يُستخدم في Cosmos.

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorblock_controlnet_hidden_states: list[torch.Tensor] | None = Noneattention_mask: typing.Optional[torch.Tensor] = Nonefps: int | None = Nonecondition_mask: typing.Optional[torch.Tensor] = Nonepadding_mask: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

المعاملات

  • hidden_states (torch.Tensor من الشكل (batch_size, num_channels, num_frames, height, width)) — مدخلات hidden_states.
  • timestep (torch.LongTensor) — يُستخدم للإشارة إلى خطوة إزالة الضوضاء.
  • encoder_hidden_states (torch.Tensor من الشكل (batch_size, sequence_len, embed_dims)) — تضمينات شرطية (تضمينات محسوبة من الشروط المدخلة مثل الأوامر النصية) للاستخدام.
  • block_controlnet_hidden_states (list of torch.Tensor, اختياري) — قائمة من الموترات التي إذا تم تحديدها تُضاف إلى بقايا كتل التحوّل.
  • attention_mask (torch.Tensor، اختياري) — قناع يُطبَّق على encoder_hidden_states أثناء الانتباه.
  • fps (int, اختياري) — عدد الإطارات في الثانية للفيديو المُدخل، ويُستخدم لحساب التضمينات الموضعية الدوارة.
  • condition_mask (torch.Tensor، اختياري) — قناة قناع مدمجة مع hidden_states للإشارة إلى منطقة التكييف.
  • padding_mask (torch.Tensor، اختياري) — قناع الحشو المُدمج مع hidden_states عند تفعيل concat_padding_mask.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~models.transformer_2d.Transformer2DModelOutput بدلاً من tuple عادي.

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

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