Buckets:

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

PriorTransformer

تم تقديم Prior Transformer في الأصل في Hierarchical Text-Conditional Image Generation with CLIP Latents بواسطة Ramesh وآخرون. يُستخدم للتنبؤ بتضمينات صور CLIP من تضمينات نصوص CLIP؛ حيث يتم التنبؤ بتضمينات الصور عبر عملية انتشار إزالة الضوضاء.

ملخص الورقة البحثية هو:

تبيّن أن النماذج التباينية مثل CLIP تتعلم تمثيلات قوية للصور تلتقط كلًا من الدلالات والأسلوب. وللاستفادة من هذه التمثيلات في توليد الصور، نقترح نموذجًا من مرحلتين: نموذج مسبق (prior) يولّد تمثيل صورة CLIP بناءً على وصف نصي، ومفكّك (decoder) يولّد صورة مشروطة على تمثيل الصورة. نُظهر أن توليد تمثيلات الصور بشكل صريح يحسّن تنوّع الصور مع خسارة ضئيلة في الواقعية الضوئية ومماثلة الوصف. كما يمكن لمفكّكاتنا المشروطة على تمثيلات الصور أن تنتج متغيرات لصورة تحافظ على دلالاتها وأسلوبها معًا، مع تغيير التفاصيل غير الجوهرية الغائبة عن تمثيل الصورة. علاوة على ذلك، يتيح الفضاء المضمّن المشترك لـ CLIP عمليات تعديل للصور موجّهة باللغة بطريقة صفرية التمثيل (zero-shot). نستخدم نماذج الانتشار (diffusion models) للمفكّك، ونجرّب كلًا من النماذج الذاتية التوليد (autoregressive) ونماذج الانتشار للنموذج المسبق، لنجد أن الأخيرة أكثر كفاءة من حيث الحسابات وتنتج عينات بجودة أعلى.

PriorTransformer[[diffusers.PriorTransformer]]

diffusers.PriorTransformer[[diffusers.PriorTransformer]]

diffusers.PriorTransformer(num_attention_heads: int = 32, attention_head_dim: int = 64, num_layers: int = 20, embedding_dim: int = 768, num_embeddings = 77, additional_embeddings = 4, dropout: float = 0.0, time_embed_act_fn: str = 'silu', norm_in_type: str | None = None, embedding_proj_norm_type: str | None = None, encoder_hid_proj_type: str | None = 'linear', added_emb_type: str | None = 'prd', time_embed_dim: int | None = None, embedding_proj_dim: int | None = None, clip_embed_dim: int | None = None)

المصدر

المعاملات:

num_attention_heads (int، اختياري، القيمة الافتراضية 32) : عدد الرؤوس المستخدمة في الانتباه متعدد الرؤوس.

attention_head_dim (int، اختياري، القيمة الافتراضية 64) : عدد القنوات في كل رأس.

num_layers (int، اختياري، القيمة الافتراضية 20) : عدد طبقات كتل Transformer التي سيتم استخدامها.

embedding_dim (int، اختياري، القيمة الافتراضية 768) : بُعد مدخلات النموذج hidden_states

num_embeddings (int، اختياري، القيمة الافتراضية 77) : عدد تمثيلات مدخلات النموذج hidden_states

additional_embeddings (int، اختياري، القيمة الافتراضية 4) : عدد الرموز الإضافية المضافة إلى hidden_states المُسقط. الطول الفعلي لـhidden_states المستخدم هو num_embeddings + additional_embeddings.

dropout (float، اختياري، القيمة الافتراضية 0.0) : احتمال الإسقاط (dropout) المستخدم.

time_embed_act_fn (str، اختياري، الافتراضي 'silu') : دالة التنشيط المستخدمة لإنشاء تضمينات خطوة الزمن.

norm_in_type (str، اختياري، القيمة الافتراضية هي None) : طبقة التطبيع التي تُطبَّق على الحالات المخفية قبل تمريرها إلى كتل Transformer. اضبطها على None إذا لم يكن التطبيع مطلوبًا.

embedding_proj_norm_type (str، اختياري، القيمة الافتراضية هي None) : طبقة التطبيع التي تُطبَّق على مدخل proj_embedding. اضبطها على None إذا لم يكن التطبيع مطلوبًا.

encoder_hid_proj_type (str، اختياري، القيمة الافتراضية linear) : طبقة الإسقاط التي تُطبَّق على مدخلات encoder_hidden_states. اضبطها على None إذا كانت encoder_hidden_states تساوي None.

added_emb_type (str، اختياري، القيمة الافتراضية prd) : تضمينات إضافية لتكييف النموذج. اختر من بين prd أو None. إذا اخترت prd، فسيتم إضافة رمز في البداية يشير إلى (الكمي) لمنتج النقط بين تضمين النص وتضمين الصورة كما اقترح في ورقة unclip https://huggingface.co/papers/2204.06125 إذا كانت None، فلن يتم إضافة أي تضمينات إضافية.

time_embed_dim (int, *optional*, defaults to None) : The dimension of timestep embeddings. If None, will be set to num_attention_heads * attention_head_dim`

embedding_proj_dim (int، اختياري، الافتراضي None) : بُعد proj_embedding. إذا كان None، فسيتم تعيينه إلى embedding_dim.

clip_embed_dim (int، اختياري، الافتراضي None) : بُعد المخرجات. إذا كان None، فسيتم تعيينه إلى embedding_dim.

نموذج Transformer مسبق.

forward[[diffusers.PriorTransformer.forward]]

forward(hidden_states, timestep: typing.Union[torch.Tensor, float, int], proj_embedding: Tensor, encoder_hidden_states: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.BoolTensor] = None, return_dict: bool = True)

المصدر

المعاملات:

hidden_states (torch.Tensor من الشكل (batch_size, embedding_dim)) : تمثيلات الصور المتوقعة حاليًا.

timestep (torch.LongTensor) : خطوة إزالة الضوضاء الحالية.

proj_embedding (torch.Tensor من الشكل (batch_size, embedding_dim)) : متجه التضمين المُسقط الذي يُشترط عليه عملية إزالة الضوضاء.

encoder_hidden_states (torch.Tensor من الشكل (batch_size, num_embeddings, embedding_dim)) : حالات مخفية لتضمينات النص التي يُشترط عليها عملية إزالة الضوضاء.

attention_mask (torch.BoolTensor من الشكل (batch_size, num_embeddings)) : قناع النص لتضمينات النص.

return_dict (bool، اختياري، الافتراضي True) : ما إذا كان يجب إرجاع PriorTransformerOutput بدلاً من tuple عادي.

يعيد: PriorTransformerOutput أو tuple

إذا كانت return_dict تساوي True، يُعاد PriorTransformerOutput، وإلا يُعاد tuple حيث يكون العنصر الأول هو tensor العينة.

طريقة PriorTransformer الأمامية.

set_default_attn_processor[[diffusers.PriorTransformer.set_default_attn_processor]]

set_default_attn_processor()

المصدر

يعطّل معالجات الانتباه المخصصة ويضبط تطبيق الانتباه الافتراضي.

PriorTransformerOutput[[diffusers.models.transformers.prior_transformer.PriorTransformerOutput]]

diffusers.models.transformers.prior_transformer.PriorTransformerOutput[[diffusers.models.transformers.prior_transformer.PriorTransformerOutput]]

diffusers.models.transformers.prior_transformer.PriorTransformerOutput(predicted_image_embedding: Tensor)

المصدر

المعاملات:

predicted_image_embedding (torch.Tensor من الشكل (batch_size, embedding_dim)) : تمثيل صورة CLIP المتوقع المشروط على مدخل تمثيل نص CLIP.

مخرجات PriorTransformer.

Xet Storage Details

Size:
9.34 kB
·
Xet hash:
fa186bec6888d5f813dc19b8ab067d56710c7d59e478f47dc7c5e17b4ad8b4b4

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.