Diffusers documentation
TransformerTemporalModel
TransformerTemporalModel
動画のようなデータ向けの Transformer モデル。
TransformerTemporalModel
クラス diffusers.TransformerTemporalModel
< source >( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Noneout_channels: int | None = Nonenum_layers: int = 1dropout: float = 0.0norm_num_groups: int = 32cross_attention_dim: int | None = Noneattention_bias: bool = Falsesample_size: int | None = Noneactivation_fn: str = 'geglu'norm_elementwise_affine: bool = Truedouble_self_attention: bool = Truepositional_embeddings: str | None = Nonenum_positional_embeddings: int | None = 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の attention に bias パラメータを含めるかどうかを設定します。 - sample_size (
int、任意) — 潜在画像の幅(入力がdiscreteの場合に指定します)。 これは、位置埋め込みの数を学習するために使用されるため、学習中は固定されます。 - activation_fn (
str、任意、デフォルトは"geglu") — フィードフォワード層で使用する活性化関数です。サポートされている活性化関数については、diffusers.models.activations.get_activationを参照してください。 - norm_elementwise_affine (
bool, 省略可) —TransformerBlockが正規化に学習可能な要素ごとのアフィンパラメータを使用するかどうかを設定します。 - double_self_attention (
bool, 省略可) — 各TransformerBlockに 2 つの self-attention レイヤーを含めるかどうかを設定します。 - positional_embeddings — (
str、任意): シーケンス入力に適用する位置埋め込みのタイプ。 - num_positional_embeddings — (
int、省略可): 位置埋め込みを適用するシーケンスの最大長。
動画のようなデータ向けの Transformer モデル。
forward
< source >( hidden_states: Tensorencoder_hidden_states: typing.Optional[torch.LongTensor] = Nonetimestep: typing.Optional[torch.LongTensor] = Noneclass_labels: LongTensor = Nonenum_frames: int = 1cross_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → TransformerTemporalModelOutput or tuple
パラメータ
- hidden_states(離散型の場合は
torch.LongTensor(shape:(batch size, num latent pixels))、連続型の場合はtorch.Tensor(shape:(batch size, channel, height, width))) — 入力となる hidden_states。 - 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、省略可) — 指定された場合、diffusers.models.attention_processor で定義されているself.processor配下のAttentionProcessorに渡される kwargs の辞書です。 - return_dict (
bool、任意、デフォルトはTrue) —Trueの場合、通常のタプルではなく TransformerTemporalModelOutput を返します。
戻り値
TransformerTemporalModelOutput または tuple
return_dictがTrueの場合、TransformerTemporalModelOutputが返され、それ以外の場合は、最初の要素がサンプルテンソルであるtupleが返されます。
TransformerTemporalのforwardメソッド。
TransformerTemporalModelOutput
class diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput
< source >( sample: Tensor )