Diffusers documentation
Lumina2Transformer2DModel
Lumina2Transformer2DModel
Um modelo Diffusion Transformer para dados de vídeo 3D foi introduzido em Lumina Image 2.0 pela Alpha-VLLM.
O modelo pode ser carregado com o seguinte trecho de código.
from diffusers import Lumina2Transformer2DModel
transformer = Lumina2Transformer2DModel.from_pretrained("Alpha-VLLM/Lumina-Image-2.0", subfolder="transformer", dtype=torch.bfloat16)Lumina2Transformer2DModel
classe diffusers.Lumina2Transformer2DModel
< source >( sample_size: int = 128patch_size: int = 2in_channels: int = 16out_channels: int | None = Nonehidden_size: int = 2304num_layers: int = 26num_refiner_layers: int = 2num_attention_heads: int = 24num_kv_heads: int = 8multiple_of: int = 256ffn_dim_multiplier: float | None = Nonenorm_eps: float = 1e-05scaling_factor: float = 1.0axes_dim_rope: tuple = (32, 32, 32)axes_lens: tuple = (300, 512, 512)cap_feat_dim: int = 1024 )
Parâmetros
- sample_size (
int) — A largura das imagens latentes. Isso é fixo durante o treinamento, pois é usado para aprender um número de embeddings de posição. - patch_size (
int, opcional, (int, opcional, padrão 2) — O tamanho de cada patch na imagem. Este parâmetro define a resolução dos patches enviados ao modelo. - in_channels (
int, opcional, padrão 4) — O número de canais de entrada do modelo. Normalmente, esse valor corresponde ao número de canais nas imagens de entrada. - hidden_size (
int, opcional, padrão 4096) — A dimensionalidade das camadas ocultas no modelo. Este parâmetro determina a largura das representações ocultas do modelo. - num_layers (
int, opcional, padrão 32) — O número de camadas no modelo. Isso define a profundidade da rede neural. - num_attention_heads (
int, opcional, padrão 32) — O número de cabeças de atenção em cada camada de atenção. Este parâmetro especifica quantos mecanismos de atenção separados são usados. - num_kv_heads (
int, opcional, padrão 8) — O número de cabeças de chave-valor no mecanismo de atenção, caso seja diferente do número de cabeças de atenção. Se for None, o padrão é num_attention_heads. - multiple_of (
int, opcional, padrão 256) — Um fator pelo qual o tamanho oculto deve ser múltiplo. Isso pode ajudar a otimizar certas configurações de hardware. - ffn_dim_multiplier (
float, opcional) — Um multiplicador para a dimensionalidade da rede feed-forward. Se for None, usa um valor padrão com base na configuração do modelo. - norm_eps (
float, opcional, padrão 1e-5) — Um valor pequeno adicionado ao denominador para estabilidade numérica nas camadas de normalização. - scaling_factor (
float, opcional, padrão 1.0) — Fator de escala aplicado a certos parâmetros ou camadas no modelo. Isso pode ser usado para ajustar a escala geral das operações do modelo.
Lumina2NextDiT: modelo de difusão com um backbone de Transformer.
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorencoder_attention_mask: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )
Parâmetros
- hidden_states (
torch.Tensorde forma(batch_size, in_channels, height, width)) —hidden_statesde entrada. - timestep (
torch.LongTensor) — Usado para indicar o passo de desruido. - encoder_hidden_states (
torch.Tensorde forma(batch_size, sequence_len, embed_dims)) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas. - encoder_attention_mask (
torch.Tensor) — Máscara aplicada aencoder_hidden_statesdurante a atenção. - attention_kwargs (
dict, opcional) — Um dicionário de kwargs que, se especificado, é passado aoAttentionProcessorconforme definido emself.processorem diffusers.models.attention_processor. - return_dict (
bool, opcional, padrãoTrue) — Se deve ou não retornar um~models.transformer_2d.Transformer2DModelOutputem vez de uma tupla simples.
O método forward do Lumina2Transformer2DModel.
Transformer2DModelOutput
classe diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parâmetros
- sample (
torch.Tensorde forma(batch_size, num_channels, height, width)ou(batch size, num_vector_embeds - 1, num_latent_pixels)se Transformer2DModel for discreto) — A saída dos estados ocultos condicionada à entradaencoder_hidden_states. Se discreto, retorna distribuições de probabilidade para os pixels latentes sem ruído.
A saída de Transformer2DModel.