Buckets:

hf-doc-build/doc / diffusers /main /ar /api /models /cogview4_transformer2d.md
mishig's picture
|
download
raw
6.86 kB

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.