Diffusers documentation
QwenImageTransformer2DModel
QwenImageTransformer2DModel
يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.
from diffusers import QwenImageTransformer2DModel
transformer = QwenImageTransformer2DModel.from_pretrained("Qwen/QwenImage-20B", subfolder="transformer", dtype=torch.bfloat16)QwenImageTransformer2DModel
فئة diffusers.QwenImageTransformer2DModel
< source >( patch_size: int = 2in_channels: int = 64out_channels: int | None = 16num_layers: int = 60attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 3584guidance_embeds: bool = Falseaxes_dims_rope: tuple[int, int, int] = (16, 56, 56)zero_cond_t: bool = Falseuse_additional_t_cond: bool = Falseuse_layer3d_rope: bool = False )
المعاملات
- patch_size (
int، القيمة الافتراضية2) — حجم الباتش لتحويل البيانات المدخلة إلى باتشات صغيرة. - in_channels (
int)، القيمة الافتراضية64— عدد القنوات في المدخلات. - out_channels (
int، اختياري، القيمة الافتراضيةNone) — عدد القنوات في المخرجات. إذا لم يُحدد، تكون القيمة الافتراضيةin_channels. - num_layers (
int، القيمة الافتراضية60) — عدد طبقات كتل DiT ذات التدفق المزدوج التي سيتم استخدامها. - attention_head_dim (
int، القيمة الافتراضية128) — عدد الأبعاد المستخدمة لكل رأس انتباه. - num_attention_heads (
int، القيمة الافتراضية24) — عدد رؤوس الانتباه (attention heads) المستخدمة. - joint_attention_dim (
int، القيمة الافتراضية3584) — عدد الأبعاد المستخدمة للانتباه المشترك (بعد التضمين/القناة الخاص بـencoder_hidden_states). - guidance_embeds (
bool، القيمة الافتراضيةFalse) — ما إذا كان سيتم استخدام تضمينات التوجيه (guidance embeddings) للنسخة المُقطَّرة بالتوجيه من النموذج. - axes_dims_rope (
tuple[int]، القيمة الافتراضية(16, 56, 56)) — الأبعاد المستخدمة للتضمينات الموضعية الدوارة.
نموذج Transformer الذي تم تقديمه في Qwen.
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensor = Noneencoder_hidden_states_mask: Tensor = Nonetimestep: LongTensor = Noneimg_shapes: list[tuple[int, int, int]] | None = Noneguidance: Tensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonecontrolnet_block_samples = Noneadditional_t_cond = Nonereturn_dict: bool = True )
المعاملات
- hidden_states (
torch.Tensorمن الشكل(batch_size, image_sequence_length, in_channels)) — مدخلاتhidden_states. - encoder_hidden_states (
torch.Tensorمن الشكل(batch_size, text_sequence_length, joint_attention_dim)) — تضمينات شرطية (تضمينات محسوبة من الشروط المدخلة مثل الأوامر النصية) للاستخدام. - encoder_hidden_states_mask (
torch.Tensorمن الشكل(batch_size, text_sequence_length)، اختياري) — قناع لحالات المُشفِّر المخفية. يُتوقع أن يحتوي على 1.0 للرموز الصالحة و0.0 لرموز الحشو. يُستخدم في مُعالج الانتباه لمنع الانتباه إلى رموز الحشو. يمكن أن يكون للقناع أي نمط (وليس فقط رموز صالحة متتالية تليها رموز حشو) نظرًا لتطبيقه عنصرًا بعنصر في الانتباه. - timestep (
torch.LongTensor) — يُستخدم للإشارة إلى خطوة إزالة الضوضاء. - img_shapes (
list[tuple[int, int, int]]، اختياري) — أشكال الصور لحساب RoPE. - guidance (
torch.Tensor، اختياري) — مصفوفة التوجيه للتوليد الشرطي. - attention_kwargs (
dict، اختياري) — قاموس kwargs يُمرَّر إلىAttentionProcessorإذا تم تحديده، كما هو معرَّف تحتself.processorفي diffusers.models.attention_processor. - controlnet_block_samples (اختياري) — عينات كتل ControlNet لإضافتها إلى كتل المحوّل.
- additional_t_cond (
torch.Tensor، اختياري) — شرط خطوة زمنية إضافية يُضاف إلى تضمين الخطوة الزمنية. - return_dict (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إرجاع~models.transformer_2d.Transformer2DModelOutputبدلاً من tuple عادي.
طريقة QwenTransformer2DModel الأمامية.
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.