UVit2DModel
U-ViT 模型是一个基于视觉转换器 (ViT) 的 UNet。该模型结合了 ViT 的元素(将所有输入,如时间、条件和噪声图像块视为标记)和 UNet 的元素(浅层和深层之间的长跳跃连接)。跳跃连接对于预测像素级特征非常重要。在最终输出之前应用了一个额外的 3x3 卷积块以提高图像质量。
论文摘要如下:
目前,在高分辨率图像的像素空间中应用扩散模型很困难。相反,现有方法侧重于在低维空间(潜在扩散)中的扩散,或者具有称为级联的多个超分辨率生成级别。缺点是这些方法增加了扩散框架的额外复杂性。本文旨在改进高分辨率图像的去噪扩散,同时尽可能保持模型简单。本文围绕以下研究问题展开:如何在一个标准的去噪扩散模型上训练高分辨率图像,同时仍然获得与这些替代方法相当的性能?四个主要发现是:1)噪声调度应针对高分辨率图像进行调整,2)仅扩展架构的特定部分就足够了,3)应在架构的特定位置添加 dropout,以及 4)下采样是避免高分辨率特征图的有效策略。结合这些简单而有效的技术,我们在 ImageNet 上的图像生成中实现了扩散模型中最先进的水平,而无需采样修改器。
UVit2DModel
class 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 )
set_attn_processor
< 源代码 >( processor: Union )
设置用于计算注意力的注意力处理器。
禁用自定义注意力处理器并设置默认注意力实现。
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
< 源代码 >( 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
< 源代码 >( channels layer_norm_eps ln_elementwise_affine use_bias hidden_dropout hidden_size res_ffn_factor = 4 )
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 )