Buckets:
CogView4Transformer2DModel
نموذج CogView4 لتحويل الانتشار (Diffusion Transformer) للبيانات ثنائية الأبعاد
يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.
from diffusers import CogView4Transformer2DModel
transformer = CogView4Transformer2DModel.from_pretrained("THUDM/CogView4-6B", subfolder="transformer", dtype=torch.bfloat16).to("cuda") # or "mps", "xpu", "cpu"
CogView4Transformer2DModel[[diffusers.CogView4Transformer2DModel]]
diffusers.CogView4Transformer2DModel[[diffusers.CogView4Transformer2DModel]]
diffusers.CogView4Transformer2DModel(patch_size: int = 2, in_channels: int = 16, out_channels: int = 16, num_layers: int = 30, attention_head_dim: int = 40, num_attention_heads: int = 64, text_embed_dim: int = 4096, time_embed_dim: int = 512, condition_dim: int = 256, pos_embed_max_size: int = 128, sample_size: int = 128, rope_axes_dim: tuple[int, int] = (256, 256))
المعاملات:
patch_size (int، القيمة الافتراضية 2) : حجم البقع المستخدمة في طبقة تضمين البقع.
in_channels (int، القيمة الافتراضية 16) : عدد القنوات في المدخلات.
num_layers (int، القيمة الافتراضية 30) : عدد طبقات كتل Transformer المستخدمة.
attention_head_dim (int، القيمة الافتراضية 40) : عدد القنوات في كل رأس.
num_attention_heads (int، القيمة الافتراضية 64) : عدد الرؤوس المستخدمة في الانتباه متعدد الرؤوس.
out_channels (int، القيمة الافتراضية 16) : عدد القنوات في المخرجات.
text_embed_dim (int، القيمة الافتراضية 4096) : بُعد الإدخال لتضمينات النص من مُشفِّر النص.
time_embed_dim (int، القيمة الافتراضية 512) : بُعد المخرجات لتضمينات خطوات الزمن.
condition_dim (int، القيمة الافتراضية 256) : بُعد التضمين (embedding dimension) لظروف الدقة بنمط SDXL الخاصة بالمدخلات (original_size, target_size, crop_coords).
pos_embed_max_size (int، القيمة الافتراضية 128) : الحد الأقصى لدقة التضمينات الموضعية، حيث تُؤخذ منها شرائح من الشكل H x W وتُضاف إلى الكمونيات المُرقّعة المدخلة، حيث H وW هما ارتفاع وعرض الكمون على التوالي. تعني قيمة 128 أن أقصى ارتفاع وعرض مدعومين لتوليد الصور هو 128 * vae_scale_factor * patch_size => 128 * 8 * 2 => 2048.
sample_size (int، القيمة الافتراضية 128) : الدقة الأساسية للكائنات الكامنة المدخلة. إذا لم يتم تقديم الارتفاع/العرض أثناء التوليد، تُستخدم هذه القيمة لتحديد الدقة على النحو التالي sample_size * vae_scale_factor => 128 * 8 => 1024
forward[[diffusers.CogView4Transformer2DModel.forward]]
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: LongTensor, original_size: Tensor, target_size: Tensor, crop_coords: Tensor, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True, attention_mask: typing.Optional[torch.Tensor] = None, image_rotary_emb: tuple[torch.Tensor, torch.Tensor] | list[tuple[torch.Tensor, torch.Tensor]] | None = None)
المعاملات:
hidden_states (torch.Tensor من الشكل (batch_size, in_channels, height, width)) : مدخلات hidden_states.
encoder_hidden_states (torch.Tensor من الشكل (batch_size, sequence_len, embed_dims)) : التضمينات الشرطية (التضمينات المحسوبة من الشروط المدخلة مثل الأوامر) للاستخدام.
timestep (torch.LongTensor) : يُستخدم للإشارة إلى خطوة إزالة الضوضاء.
original_size (torch.Tensor) : شرط حجم الصورة الأصلي.
target_size (torch.Tensor) : شرط حجم الصورة المستهدفة.
crop_coords (torch.Tensor) : شروط إحداثيات القص.
attention_kwargs (dict، اختياري) : قاموس kwargs يُمرَّر إلى AttentionProcessor إذا تم تحديده، كما هو معرَّف تحت self.processor في diffusers.models.attention_processor.
return_dict (bool، اختياري، القيمة الافتراضية True) : ما إذا كان يجب إرجاع ~models.transformer_2d.Transformer2DModelOutput بدلاً من tuple عادي.
attention_mask (torch.Tensor، اختياري) : قناع يُطبَّق على درجات الانتباه.
image_rotary_emb (tuple من torch.Tensor، اختياري) : تمثيلات موضعية دوّارة محسوبة مسبقًا.
يعيد:
إذا كان return_dict صحيحًا، يُعاد ~models.transformer_2d.Transformer2DModelOutput، وإلا يُعاد tuple يكون عنصره الأول هو تينسور العينة.
طريقة CogView4Transformer2DModel الأمامية.
Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.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.
Xet Storage Details
- Size:
- 6.86 kB
- Xet hash:
- 9ac95f51e720f38e2b76e8d7b8a0105a880a01dabf8b4b6a7093134d0413433f
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.