Diffusers documentation
CosmosTransformer3DModel
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
< source >( 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
< source >( 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 (
listoftorch.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
< source >( 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.