Diffusers 文件
TransformerTemporalModel
並獲得增強的文件體驗
開始使用
TransformerTemporalModel
用於影片類資料的 Transformer 模型。
TransformerTemporalModel
class diffusers.TransformerTemporalModel
< 來源 >( num_attention_heads: int = 16 attention_head_dim: int = 88 in_channels: typing.Optional[int] = None out_channels: typing.Optional[int] = None num_layers: int = 1 dropout: float = 0.0 norm_num_groups: int = 32 cross_attention_dim: typing.Optional[int] = None attention_bias: bool = False sample_size: typing.Optional[int] = None activation_fn: str = 'geglu' norm_elementwise_affine: bool = True double_self_attention: bool = True positional_embeddings: typing.Optional[str] = None num_positional_embeddings: typing.Optional[int] = None )
引數
- num_attention_heads (
int
, 可選, 預設為 16) — 用於多頭注意力的頭部數量。 - attention_head_dim (
int
, 可選, 預設為 88) — 每個頭部的通道數量。 - in_channels (
int
, 可選) — 輸入和輸出的通道數量(如果輸入是連續的,則指定)。 - num_layers (
int
, 可選, 預設為 1) — 要使用的 Transformer 塊層數。 - dropout (
float
, 可選, 預設為 0.0) — 要使用的 dropout 機率。 - cross_attention_dim (
int
, 可選) — 要使用的encoder_hidden_states
維度數量。 - attention_bias (
bool
, 可選) — 配置TransformerBlock
注意力是否包含偏置引數。 - sample_size (
int
, 可選) — 潛在影像的寬度(如果輸入是離散的,則指定)。這在訓練期間是固定的,因為它用於學習多個位置嵌入。 - activation_fn (
str
, 可選, 預設為"geglu"
) — 在前饋中使用的啟用函式。有關支援的啟用函式,請參閱diffusers.models.activations.get_activation
。 - norm_elementwise_affine (
bool
, 可選) — 配置TransformerBlock
是否使用可學習的逐元素仿射引數進行歸一化。 - double_self_attention (
bool
, 可選) — 配置每個TransformerBlock
是否包含兩個自注意力層。 - positional_embeddings — (
str
, 可選):在序列輸入傳遞前要應用的位置嵌入型別。 - num_positional_embeddings — (
int
, 可選):應用位置嵌入的序列最大長度。
用於影片類資料的 Transformer 模型。
forward
< 來源 >( hidden_states: Tensor encoder_hidden_states: typing.Optional[torch.LongTensor] = None timestep: typing.Optional[torch.LongTensor] = None class_labels: LongTensor = None num_frames: int = 1 cross_attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None return_dict: bool = True ) → TransformerTemporalModelOutput 或 tuple
引數
- hidden_states (
torch.LongTensor
,形狀為(batch size, num latent pixels)
如果是離散的,torch.Tensor
,形狀為(batch size, channel, height, width)
如果是連續的) — 輸入的隱藏狀態。 - encoder_hidden_states (
torch.LongTensor
,形狀為(batch size, encoder_hidden_states dim)
, 可選) — 交叉注意力層的條件嵌入。如果未給出,交叉注意力預設為自注意力。 - timestep (
torch.LongTensor
, 可選) — 用於指示去噪步驟。可選的時間步,將作為嵌入應用到AdaLayerNorm
中。 - class_labels (
torch.LongTensor
,形狀為(batch size, num classes)
, 可選) — 用於指示類別標籤條件。可選的類別標籤,將作為嵌入應用到AdaLayerZeroNorm
中。 - num_frames (
int
, 可選, 預設為 1) — 每批要處理的幀數。用於重塑隱藏狀態。 - cross_attention_kwargs (
dict
, 可選) — 一個 kwargs 字典,如果指定,將作為引數傳遞給 diffusers.models.attention_processor 中定義的self.processor
的AttentionProcessor
。 - return_dict (
bool
, 可選, 預設為True
) — 是否返回 TransformerTemporalModelOutput 而不是普通元組。
返回
TransformerTemporalModelOutput 或 tuple
如果 return_dict
為 True,則返回 TransformerTemporalModelOutput;否則返回 tuple
,其中第一個元素是樣本張量。
TransformerTemporal
的 forward 方法。
TransformerTemporalModelOutput
class diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput
< 來源 >( sample: Tensor )
TransformerTemporalModel 的輸出。