Diffusers documentation
UVit2DModel
UVit2DModel
نموذج U-ViT هو UNet مبني على محول الرؤية (ViT). يدمج هذا النموذج عناصر من ViT (يعتبر جميع المدخلات مثل الوقت والشروط وبقع الصورة الضجيجية كرموز) وعناصر من UNet (اتصالات تخطٍ طويلة بين الطبقات الضحلة والعميقة). تُعدّ اتصال التخطي مهماً للتنبؤ بالميزات على مستوى البكسل. كما يُطبَّق كتل تجميع لولبي إضافي بحجم 3x3 قبل المخرج النهائي لتحسين جودة الصورة.
ملخص الورقة البحثية هو:
حاليًا، يُعد تطبيق نماذج الانتشار في فضاء البكسلات للصور عالية الدقة أمرًا صعبًا. وبدلاً من ذلك، تركز الأساليب الحالية على الانتشار في فضاءات ذات أبعاد أقل (الانتشار الكامن)، أو لديها مستويات متعددة من التوليد فائق الدقة تُعرف بالتتابعات. والعيوب في هذه الأساليب أنها تضيف تعقيدًا إضافيًا إلى إطار عمل الانتشار. تهدف هذه الورقة إلى تحسين إزالة الضوضاء الانتشارية للصور عالية الدقة مع الحفاظ على النموذج بسيطًا قدر الإمكان. تدور الورقة حول سؤال البحث: كيف يمكن تدريب نماذج إزالة الضوضاء الانتشارية القياسية على صور عالية الدقة، والحصول في الوقت نفسه على أداء قابل للمقارنة مع هذه الأساليب البديلة؟ النتائج الرئيسية الأربع هي: 1) يجب تعديل جدول الضوضاء للصور عالية الدقة، 2) يكفي توسيع جزء معين فقط من البنية، 3) يجب إضافة الإسقاط (dropout) في مواقع محددة في البنية، و4) يُعد أخذ العينات المنخفضة (downsampling) استراتيجية فعالة لتجنب خرائط الميزات عالية الدقة. ومن خلال دمج هذه التقنيات البسيطة والفعالة، نحقق أداءً رائدًا في توليد الصور بين نماذج الانتشار دون استخدام معدّلات أخذ العينات على ImageNet.
UVit2DModel
فئة diffusers.UVit2DModel
< source >( 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
< source >( 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).
يعطّل معالجات الانتباه المخصصة ويضبط تطبيق الانتباه الافتراضي.
UVit2DConvEmbed
فئة diffusers.models.unets.uvit_2d.UVit2DConvEmbed
< source >( in_channelsblock_out_channelsvocab_sizeelementwise_affineepsbias )
UVitBlock
فئة diffusers.models.unets.uvit_2d.UVitBlock
< source >( channelsnum_res_blocks: inthidden_sizehidden_dropoutln_elementwise_affinelayer_norm_epsuse_biasblock_num_headsattention_dropoutdownsample: boolupsample: bool )
ConvNextBlock
فئة diffusers.models.unets.uvit_2d.ConvNextBlock
< source >( channelslayer_norm_epsln_elementwise_affineuse_biashidden_dropouthidden_sizeres_ffn_factor = 4 )
ConvMlmLayer
فئة diffusers.models.unets.uvit_2d.ConvMlmLayer
< source >( block_out_channels: intin_channels: intuse_bias: boolln_elementwise_affine: boollayer_norm_eps: floatcodebook_size: int )