Buckets:
UVit2DModel
U-ViT modeli, vision transformer (ViT) tabanlı bir UNet'tir. Bu model, ViT'den (zaman, koşullar ve gürültülü görüntü yamaları gibi tüm girdileri token olarak ele alır) ve UNet'ten (shallow ve deep katmanlar arasında uzun skip bağlantıları) unsurları bir araya getirir. Skip bağlantısı, piksel düzeyinde özellikleri tahmin etmek için önemlidir. Görüntü kalitesini iyileştirmek için nihai çıktıdan önce ek bir 3x3 convolutional bloğu uygulanır.
Makalenin özeti şudur:
Şu anda, yüksek çözünürlüklü görüntülerin piksel alanında difüzyon modellerini uygulamak zordur. Bunun yerine, mevcut yaklaşımlar difüzyonu daha düşük boyutlu alanlarda (latent difüzyon) gerçekleştirmeye veya kaskat olarak adlandırılan birden fazla süper çözünürlük seviyesinde üretime odaklanır. Bu yaklaşımların dezavantajı, difüzyon çerçevesine ek karmaşıklık katmalarıdır. Bu makale, modeli olabildiğince basit tutarken yüksek çözünürlüklü görüntüler için gürültü giderme difüzyonunu iyileştirmeyi amaçlamaktadır. Makale, şu araştırma sorusu etrafında şekillenmektedir: Yüksek çözünürlüklü görüntüler üzerinde standart bir gürültü giderme difüzyon modeli nasıl eğitilebilir ve yine de bu alternatif yaklaşımlarla karşılaştırılabilir performans elde edilebilir? Dört ana bulgu şunlardır: 1) gürültü zamanlaması yüksek çözünürlüklü görüntüler için ayarlanmalıdır, 2) mimarinin yalnızca belirli bir bölümünü ölçeklendirmek yeterlidir, 3) dropout mimarinin belirli konumlarına eklenmelidir ve 4) örnekleme azaltma, yüksek çözünürlüklü özellik haritalarından kaçınmak için etkili bir stratejidir. Bu basit ama etkili teknikleri birleştirerek, ImageNet üzerinde örneklem değiştiricileri kullanmadan difüzyon modelleri arasında görüntü üretiminde en iyi performansa ulaşıyoruz.
UVit2DModel[[diffusers.UVit2DModel]]
diffusers.UVit2DModel[[diffusers.UVit2DModel]]
diffusers.UVit2DModel(hidden_size: int = 1024, use_bias: bool = False, hidden_dropout: float = 0.0, cond_embed_dim: int = 768, micro_cond_encode_dim: int = 256, micro_cond_embed_dim: int = 1280, encoder_hidden_size: int = 768, vocab_size: int = 8256, codebook_size: int = 8192, in_channels: int = 768, block_out_channels: int = 768, num_res_blocks: int = 3, downsample: bool = False, upsample: bool = False, block_num_heads: int = 12, num_hidden_layers: int = 22, num_attention_heads: int = 16, attention_dropout: float = 0.0, intermediate_size: int = 2816, layer_norm_eps: float = 1e-06, ln_elementwise_affine: bool = True, sample_size: int = 64)
forward[[diffusers.UVit2DModel.forward]]
forward(input_ids, encoder_hidden_states, pooled_text_emb, micro_conds, cross_attention_kwargs = None)
Parametreler:
input_ids (torch.LongTensor) : Maskelenmiş latent görüntü tokenlarının token kimlikleri, şekli (batch_size, height, width).
encoder_hidden_states (torch.Tensor) : Kullanılacak koşullu gömlemeler (giriş koşullarından, örneğin istemlerden hesaplanan gömlemeler).
pooled_text_emb (torch.Tensor) : Ek koşullandırma için kullanılan havuzlanmış metin gömme değerleri.
micro_conds (torch.Tensor) : pooled_text_emb ile gömülüp birleştirilen mikro-konumlama değerleri.
cross_attention_kwargs (dict, isteğe bağlı) : Belirtilirse AttentionProcessor'a iletilen bir kwargs sözlüğü.
Dönüş: torch.Tensor
Her görüntü jetonu için kod kitabı üzerindeki logitler, şekli (batch_size, codebook_size, height, width).
set_default_attn_processor[[diffusers.UVit2DModel.set_default_attn_processor]]
set_default_attn_processor()
Özel dikkat işleyicilerini devre dışı bırakır ve varsayılan dikkat uygulamasını ayarlar.
UVit2DConvEmbed[[diffusers.models.unets.uvit_2d.UVit2DConvEmbed]]
diffusers.models.unets.uvit_2d.UVit2DConvEmbed[[diffusers.models.unets.uvit_2d.UVit2DConvEmbed]]
diffusers.models.unets.uvit_2d.UVit2DConvEmbed(in_channels, block_out_channels, vocab_size, elementwise_affine, eps, bias)
UVitBlock[[diffusers.models.unets.uvit_2d.UVitBlock]]
diffusers.models.unets.uvit_2d.UVitBlock[[diffusers.models.unets.uvit_2d.UVitBlock]]
diffusers.models.unets.uvit_2d.UVitBlock(channels, num_res_blocks: int, hidden_size, hidden_dropout, ln_elementwise_affine, layer_norm_eps, use_bias, block_num_heads, attention_dropout, downsample: bool, upsample: bool)
ConvNextBlock[[diffusers.models.unets.uvit_2d.ConvNextBlock]]
diffusers.models.unets.uvit_2d.ConvNextBlock[[diffusers.models.unets.uvit_2d.ConvNextBlock]]
diffusers.models.unets.uvit_2d.ConvNextBlock(channels, layer_norm_eps, ln_elementwise_affine, use_bias, hidden_dropout, hidden_size, res_ffn_factor = 4)
ConvMlmLayer[[diffusers.models.unets.uvit_2d.ConvMlmLayer]]
diffusers.models.unets.uvit_2d.ConvMlmLayer[[diffusers.models.unets.uvit_2d.ConvMlmLayer]]
diffusers.models.unets.uvit_2d.ConvMlmLayer(block_out_channels: int, in_channels: int, use_bias: bool, ln_elementwise_affine: bool, layer_norm_eps: float, codebook_size: int)
Xet Storage Details
- Size:
- 6.04 kB
- Xet hash:
- 048c9e834ac8259b938e8074ed3c11e8b5c6ba0e9738828cd5ff2c2f2d36366a
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.