Buckets:
UVit2DModel
Model U-ViT adalah UNet berbasis vision transformer (ViT). Model ini mengintegrasikan elemen dari ViT (memperlakukan semua input seperti waktu, kondisi, dan patch gambar berisik sebagai token) dan UNet (koneksi skip panjang antara lapisan dangkal dan dalam). Koneksi skip ini penting untuk memprediksi fitur pada tingkat piksel. Blok konvolusional 3x3 tambahan diterapkan sebelum output akhir untuk meningkatkan kualitas gambar.
Abstrak dari makalah tersebut adalah:
Saat ini, menerapkan model difusi pada ruang piksel gambar resolusi tinggi sulit dilakukan. Sebagai gantinya, pendekatan yang ada berfokus pada difusi di ruang berdimensi lebih rendah (difusi laten), atau memiliki beberapa tingkat super-resolusi generasi yang disebut kaskade. Kekurangannya adalah pendekatan-pendekatan ini menambah kompleksitas tambahan pada kerangka kerja difusi. Kertas kerja ini bertujuan untuk meningkatkan denoising difusi untuk gambar resolusi tinggi sambil menjaga model tetap sesederhana mungkin. Kertas kerja ini berpusat pada pertanyaan penelitian: Bagaimana cara melatih model denoising difusi standar pada gambar resolusi tinggi, dan masih memperoleh kinerja yang sebanding dengan pendekatan alternatif tersebut? Empat temuan utama adalah: 1) jadwal noise harus disesuaikan untuk gambar resolusi tinggi, 2) cukup untuk menskalakan hanya bagian tertentu dari arsitektur, 3) dropout harus ditambahkan di lokasi tertentu dalam arsitektur, dan 4) downsampling adalah strategi yang efektif untuk menghindari peta fitur resolusi tinggi. Dengan menggabungkan teknik-teknik sederhana namun efektif ini, kami mencapai state-of-the-art pada generasi gambar di antara model difusi tanpa modifikasi sampling pada ImageNet.
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)
Parameter:
input_ids (torch.LongTensor) : ID token dari token gambar laten yang dimasker, dengan bentuk (batch_size, height, width).
encoder_hidden_states (torch.Tensor) : Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan.
pooled_text_emb (torch.Tensor) : Embedding teks yang telah dipooling, digunakan untuk kondisioning tambahan.
micro_conds (torch.Tensor) : Nilai micro-conditioning yang di-embed dan digabungkan dengan pooled_text_emb.
cross_attention_kwargs (dict, opsional) : Kamus kwargs yang jika ditentukan akan diteruskan ke AttentionProcessor.
Mengembalikan: torch.Tensor
Logits di atas codebook untuk setiap token gambar, dengan bentuk (batch_size, codebook_size, height, width).
set_default_attn_processor[[diffusers.UVit2DModel.set_default_attn_processor]]
set_default_attn_processor()
Menonaktifkan prosesor perhatian kustom dan mengatur implementasi perhatian default.
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:
- 5.8 kB
- Xet hash:
- d17df401408249298d5105ee88da8a27cf5255d7592c2f526abc66b48f5cec15
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.