Diffusers documentation

UVit2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

UVit2DModel

نموذج U-ViT هو UNet مبني على محول الرؤية (ViT). يدمج هذا النموذج عناصر من ViT (يعتبر جميع المدخلات مثل الوقت والشروط وبقع الصورة الضجيجية كرموز) وعناصر من UNet (اتصالات تخطٍ طويلة بين الطبقات الضحلة والعميقة). تُعدّ اتصال التخطي مهماً للتنبؤ بالميزات على مستوى البكسل. كما يُطبَّق كتل تجميع لولبي إضافي بحجم 3x3 قبل المخرج النهائي لتحسين جودة الصورة.

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

حاليًا، يُعد تطبيق نماذج الانتشار في فضاء البكسلات للصور عالية الدقة أمرًا صعبًا. وبدلاً من ذلك، تركز الأساليب الحالية على الانتشار في فضاءات ذات أبعاد أقل (الانتشار الكامن)، أو لديها مستويات متعددة من التوليد فائق الدقة تُعرف بالتتابعات. والعيوب في هذه الأساليب أنها تضيف تعقيدًا إضافيًا إلى إطار عمل الانتشار. تهدف هذه الورقة إلى تحسين إزالة الضوضاء الانتشارية للصور عالية الدقة مع الحفاظ على النموذج بسيطًا قدر الإمكان. تدور الورقة حول سؤال البحث: كيف يمكن تدريب نماذج إزالة الضوضاء الانتشارية القياسية على صور عالية الدقة، والحصول في الوقت نفسه على أداء قابل للمقارنة مع هذه الأساليب البديلة؟ النتائج الرئيسية الأربع هي: 1) يجب تعديل جدول الضوضاء للصور عالية الدقة، 2) يكفي توسيع جزء معين فقط من البنية، 3) يجب إضافة الإسقاط (dropout) في مواقع محددة في البنية، و4) يُعد أخذ العينات المنخفضة (downsampling) استراتيجية فعالة لتجنب خرائط الميزات عالية الدقة. ومن خلال دمج هذه التقنيات البسيطة والفعالة، نحقق أداءً رائدًا في توليد الصور بين نماذج الانتشار دون استخدام معدّلات أخذ العينات على ImageNet.

UVit2DModel

فئة diffusers.UVit2DModel

< >

( hidden_size: int = 1024use_bias: bool = Falsehidden_dropout: float = 0.0cond_embed_dim: int = 768micro_cond_encode_dim: int = 256micro_cond_embed_dim: int = 1280encoder_hidden_size: int = 768vocab_size: int = 8256codebook_size: int = 8192in_channels: int = 768block_out_channels: int = 768num_res_blocks: int = 3downsample: bool = Falseupsample: bool = Falseblock_num_heads: int = 12num_hidden_layers: int = 22num_attention_heads: int = 16attention_dropout: float = 0.0intermediate_size: int = 2816layer_norm_eps: float = 1e-06ln_elementwise_affine: bool = Truesample_size: int = 64 )

forward

< >

( input_idsencoder_hidden_statespooled_text_embmicro_condscross_attention_kwargs = None ) → torch.Tensor

المعاملات

  • input_ids (torch.LongTensor) — معرّفات الرموز لرموز الصورة الكامنة المقنّعة، بشكل (batch_size, height, width).
  • encoder_hidden_states (torch.Tensor) — تضمينات مشروطة (تضمينات محسوبة من الشروط المدخلة مثل الأوامر النصية) للاستخدام.
  • pooled_text_emb (torch.Tensor) — تضمينات نصية مجمّعة تُستخدم للتكييف الإضافي.
  • micro_conds (torch.Tensor) — قيم التكييف الدقيقة التي تُضمَّن وتُدمج مع pooled_text_emb.
  • cross_attention_kwargs (dict، اختياري) — قاموس kwargs يُمرَّر إلى AttentionProcessor إذا تم تحديده.

يعيد

torch.Tensor

قيم اللوجيت (logits) الخاصة بكتاب الرموز (codebook) لكل رمز صورة، وبشكل (batch_size, codebook_size, height, width).

set_default_attn_processor

< >

( )

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

UVit2DConvEmbed

فئة diffusers.models.unets.uvit_2d.UVit2DConvEmbed

< >

( in_channelsblock_out_channelsvocab_sizeelementwise_affineepsbias )

UVitBlock

فئة diffusers.models.unets.uvit_2d.UVitBlock

< >

( channelsnum_res_blocks: inthidden_sizehidden_dropoutln_elementwise_affinelayer_norm_epsuse_biasblock_num_headsattention_dropoutdownsample: boolupsample: bool )

ConvNextBlock

فئة diffusers.models.unets.uvit_2d.ConvNextBlock

< >

( channelslayer_norm_epsln_elementwise_affineuse_biashidden_dropouthidden_sizeres_ffn_factor = 4 )

ConvMlmLayer

فئة diffusers.models.unets.uvit_2d.ConvMlmLayer

< >

( block_out_channels: intin_channels: intuse_bias: boolln_elementwise_affine: boollayer_norm_eps: floatcodebook_size: int )

Update on GitHub