vllm_omni.diffusion.models.anima.anima_text_conditioner ¶
ANIMA_TEXT_CONDITIONER_CONFIG module-attribute ¶
ANIMA_TEXT_CONDITIONER_CONFIG = {
"source_dim": 1024,
"target_dim": 1024,
"model_dim": 1024,
"num_layers": 6,
"num_attention_heads": 16,
"mlp_ratio": 4.0,
"target_vocab_size": 32128,
"use_self_attention": True,
"use_layer_norm": False,
"min_sequence_length": 512,
}
AnimaRotaryEmbedding ¶
AnimaTextConditioner ¶
Bases: Module
blocks instance-attribute ¶
blocks = nn.ModuleList(
[
AnimaTextConditionerBlock(
source_dim=source_dim,
model_dim=model_dim,
num_attention_heads=num_attention_heads,
mlp_ratio=mlp_ratio,
use_self_attention=use_self_attention,
use_layer_norm=use_layer_norm,
prefix=f"blocks.{i}",
)
for i in range(num_layers)
]
)
config instance-attribute ¶
config = SimpleNamespace(
source_dim=source_dim,
target_dim=target_dim,
model_dim=model_dim,
num_layers=num_layers,
num_attention_heads=num_attention_heads,
mlp_ratio=mlp_ratio,
target_vocab_size=target_vocab_size,
use_self_attention=use_self_attention,
use_layer_norm=use_layer_norm,
min_sequence_length=min_sequence_length,
extra_config=kwargs,
)
in_proj instance-attribute ¶
rotary_emb instance-attribute ¶
rotary_emb = AnimaRotaryEmbedding(
model_dim // num_attention_heads
)
forward ¶
forward(
source_hidden_states: Tensor,
target_input_ids: Tensor,
target_attention_mask: Tensor | None = None,
source_attention_mask: Tensor | None = None,
) -> Tensor
AnimaTextConditionerAttention ¶
AnimaTextConditionerBlock ¶
Bases: Module
cross_attn instance-attribute ¶
cross_attn = AnimaTextConditionerAttention(
query_dim=model_dim,
context_dim=source_dim,
num_attention_heads=num_attention_heads,
attention_head_dim=model_dim // num_attention_heads,
prefix=f"{prefix}.cross_attn"
if prefix
else "cross_attn",
)
mlp instance-attribute ¶
mlp = nn.Sequential(
nn.Linear(model_dim, int(model_dim * mlp_ratio)),
nn.GELU(),
nn.Linear(int(model_dim * mlp_ratio), model_dim),
)
self_attn instance-attribute ¶
self_attn = AnimaTextConditionerAttention(
query_dim=model_dim,
context_dim=model_dim,
num_attention_heads=num_attention_heads,
attention_head_dim=model_dim // num_attention_heads,
prefix=f"{prefix}.self_attn" if prefix else "self_attn",
)