Diffusers documentation
WanAnimateTransformer3DModel
WanAnimateTransformer3DModel
تم تقديم نموذج Wan Animate لنموذج Diffusion Transformer للبيانات المشابهة للفيديو ثلاثي الأبعاد من قبل فريق Alibaba Wan.
يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.
from diffusers import WanAnimateTransformer3DModel
transformer = WanAnimateTransformer3DModel.from_pretrained("Wan-AI/Wan2.2-Animate-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)WanAnimateTransformer3DModel
فئة diffusers.WanAnimateTransformer3DModel
< source >( patch_size: tuple = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int | None = 36latent_channels: int | None = 16out_channels: int | None = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = 1280added_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = Nonemotion_encoder_channel_sizes: dict[str, int] | None = Nonemotion_encoder_size: int = 512motion_style_dim: int = 512motion_dim: int = 20motion_encoder_dim: int = 512face_encoder_hidden_dim: int = 1024face_encoder_num_heads: int = 4inject_face_latents_blocks: int = 5motion_encoder_batch_size: int = 8 )
المعاملات
- patch_size (
tuple[int]، القيمة الافتراضية(1, 2, 2)) — أبعاد الباتش ثلاثية الأبعاد لتضمين الفيديو (t_patch, h_patch, w_patch). - num_attention_heads (
int، القيمة الافتراضية40) — طول ثابت لتضمينات النص. - attention_head_dim (
int، القيمة الافتراضية128) — عدد القنوات في كل رأس. - in_channels (
int)، القيمة الافتراضية16— عدد القنوات في المدخلات. - out_channels (
int، القيمة الافتراضية16) — عدد القنوات في المخرجات. - text_dim (
int، القيمة الافتراضية512) — البُعد المدخل لتضمينات النص. - freq_dim (
int، القيمة الافتراضية256) — البُعد الخاص بالتضمينات الزمنية الجيبية. - ffn_dim (
int، القيمة الافتراضية13824) — البُعد الوسيط في الشبكة الأمامية. - num_layers (
int، القيمة الافتراضية40) — عدد طبقات كتل التحويل (transformer blocks) المستخدمة. - window_size (
tuple[int]، القيمة الافتراضية(-1, -1)) — حجم النافذة للانتباه المحلي (القيمة -1 تشير إلى الانتباه العام). - cross_attn_norm (
bool، القيمة الافتراضيةTrue) — تفعيل تطبيع الانتباه المتقاطع. - qk_norm (
bool، القيمة الافتراضيةTrue) — تفعيل تطبيع الاستعلام/المفتاح. - eps (
float، القيمة الافتراضية1e-6) — قيمة إبسيلون لطبقات التطبيع. - image_dim (
int، اختياري، القيمة الافتراضية1280) — عدد القنوات المستخدمة لتضمين الصورة. إذا كانتNone، فلن يتم استخدام الإسقاط. - added_kv_proj_dim (
int، اختياري، القيمة الافتراضية5120) — عدد القنوات المستخدمة في إسقاطات المفتاح والقيمة المضافة. إذا كانتNone، فلا يُستخدم أي إسقاط.
نموذج Transformer لبيانات تشبه الفيديو يُستخدم في نموذج WanAnimate.
forward
< source >( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonepose_hidden_states: typing.Optional[torch.Tensor] = Noneface_pixel_values: typing.Optional[torch.Tensor] = Nonemotion_encode_batch_size: int | None = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None ) → ~models.transformer_2d.Transformer2DModelOutput or tuple
المعاملات
- hidden_states (
torch.Tensorمن الشكل(B, 2C + 4, T + 1, H, W)) — مدخلات فيديو ضجيج كامن (latent) من الشكل(B, 2C + 4, T + 1, H, W)، حيث B هو حجم الدفعة (batch size)، وC هو عدد القنوات الكامنة (16 في Wan VAE)، وT هو عدد الإطارات الكامنة في مقطع الاستدلال، وH هو الارتفاع الكامن، وW هو العرض الكامن. - timestep — (
torch.LongTensor): خطوة الزمن الحالية في حلقة إزالة الضوضاء. - encoder_hidden_states (
torch.Tensor) — تمثيلات نصية من مُشفِّر النص (umT5 في Wan Animate). - encoder_hidden_states_image (
torch.Tensor) — ميزات CLIP البصرية للصورة المرجعية (الشخصية). - pose_hidden_states (
torch.Tensorمن الشكل(B, C, T, H, W)) — كائنات الكاميرا (Latents) لفيديو الوضعية. ملاحظة: الوصف غير مكتمل - face_pixel_values (
torch.Tensorمن الشكل(B, C', S, H', W')) — فيديو الوجه في فضاء البكسلات (وليس في الفضاء الكامن). عادةً ما يكون C’ = 3، وتكون H’ و W’ هما الارتفاع/العرض لفيديو الوجه بالبكسلات. هنا يمثل S طول المقطع الاستنتاجي، ويُضبط عادةً على 77. - motion_encode_batch_size (
int, اختياري) — حجم الدفعة (batch size) لتشفير فيديو الوجه على دفعات عبر مشفّر الحركة. إذا لم يتم ضبطه، فسيتم افتراضself.config.motion_encoder_batch_size. - return_dict (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إرجاع المخرجات كقاموس (dict) أو كسلسلة (tuple). - attention_kwargs (
dict، اختياري) — قاموس kwargs يُمرَّر إلىAttentionProcessorإذا تم تحديده، كما هو معرَّف تحتself.processorفي diffusers.models.attention_processor.
يعيد
~models.transformer_2d.Transformer2DModelOutput أو tuple
إذا كان return_dict صحيحًا، يُعاد ~models.transformer_2d.Transformer2DModelOutput يكون sample فيه هو الكامنة (latent) للفيديو بعد إزالة الضوضاء، وإلا يُعاد tuple بسيط يكون عنصره الأول هو ذلك الموتر (tensor).
مرور أمامي لنموذج تحويلي Wan2.2-Animate.
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.