Diffusers documentation
WanTransformer3DModel
WanTransformer3DModel
تم تقديم نموذج Wan 2.1 من فريق Wan في Alibaba، وهو نموذج Diffusion Transformer مخصص للبيانات المشابهة للفيديو ثلاثي الأبعاد.
يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.
from diffusers import WanTransformer3DModel
transformer = WanTransformer3DModel.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)WanTransformer3DModel
فئة diffusers.WanTransformer3DModel
< source >( patch_size: tuple[int, ...] = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int = 16out_channels: int = 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 = Noneadded_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = None )
المعاملات
- 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) — قيمة إبسيلون لطبقات التطبيع. - add_img_emb (
bool، القيمة الافتراضيةFalse) — ما إذا كان سيتم استخدام img_emb. - added_kv_proj_dim (
int، اختياري، القيمة الافتراضيةNone) — عدد القنوات المستخدمة في إسقاطات المفتاح والقيمة المضافة. إذا كانتNone، فلا يُستخدم أي إسقاط.
نموذج Transformer لبيانات تشبه الفيديو يُستخدم في نموذج Wan.
forward
< source >( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None )
المعاملات
- 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)) — تضمينات شرطية (تضمينات محسوبة من الشروط المدخلة مثل الأوامر النصية) للاستخدام. - encoder_hidden_states_image (
torch.Tensor، اختياري) — تضمينات مشروطَة بالصور لتوليد مشروط بالصور. - return_dict (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إرجاع~models.transformer_2d.Transformer2DModelOutputبدلاً من tuple عادي. - attention_kwargs (
dict، اختياري) — قاموس kwargs يُمرَّر إلىAttentionProcessorإذا تم تحديده، كما هو معرَّف تحتself.processorفي diffusers.models.attention_processor.
طريقة WanTransformer3DModel الأمامية.
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.