Diffusers documentation
LatteTransformer3DModel
LatteTransformer3DModel
来自 Latte 的用于 3D 数据的 Diffusion Transformer 模型。
LatteTransformer3DModel
class diffusers.LatteTransformer3DModel
< source >( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Noneout_channels: int | None = Nonenum_layers: int = 1dropout: float = 0.0cross_attention_dim: int | None = Noneattention_bias: bool = Falsesample_size: int = 64patch_size: int | None = Noneactivation_fn: str = 'geglu'num_embeds_ada_norm: int | None = Nonenorm_type: str = 'layer_norm'norm_elementwise_affine: bool = Truenorm_eps: float = 1e-05caption_channels: int = Nonevideo_length: int = 16 )
forward
< source >( hidden_states: Tensortimestep: typing.Optional[torch.LongTensor] = Noneencoder_hidden_states: typing.Optional[torch.Tensor] = Noneencoder_attention_mask: typing.Optional[torch.Tensor] = Noneenable_temporal_attentions: bool = Truereturn_dict: bool = True )
参数
- hidden_states(形状为
(batch size, channel, num_frame, height, width)的torch.Tensor)— 输入的hidden_states。 - timestep (
torch.LongTensor, 可选) — 用于指示去噪步骤。作为嵌入应用于AdaLayerNorm的可选时间步。 - encoder_hidden_states (
torch.FloatTensor,形状为(batch size, sequence len, embed dims),可选) — 用于交叉注意力层的条件嵌入。如果未提供,交叉注意力将默认为自注意力。 - encoder_attention_mask (
torch.Tensor, 可选) — 应用于encoder_hidden_states. 支持两种格式:- Mask
(batcheight, sequence_length)True = 保留,False = 丢弃。 - Bias
(batcheight, 1, sequence_length)0 = 保留,-10000 = 丢弃。
如果
ndim == 2:将被解释为掩码,然后转换为与上述格式一致的偏置。该偏置将加到交叉注意力分数上。 - Mask
- enable_temporal_attentions —
(
bool,可选,默认为True):是否启用时间注意力。 - return_dict (
bool,可选,默认为True) — 是否返回~models.unet_2d_condition.UNet2DConditionOutput而不是普通的元组。
LatteTransformer3DModel 的前向方法。