Diffusers documentation
PAN2Transformer3DModel
PAN2Transformer3DModel
PAN 2 の拡散トランスフォーマーです。動画トークンとテキストトークンに対して結合アテンションを実行し、各ストリーム用に個別の射影とフィードフォワードネットワークを備えています。
動画入力は、ノイズ付き潜在変数、条件付け潜在変数、および1チャネルの条件付けマスクをスタックするため、同じモデルがテキストから動画への変換と画像から動画への変換の両方をサポートします。
import torch
from diffusers import PAN2Transformer3DModel
transformer = PAN2Transformer3DModel.from_pretrained("IFM/PAN2", subfolder="transformer", dtype=torch.bfloat16)PAN2Transformer3DModel
クラス diffusers.PAN2Transformer3DModel
< source >( patch_size: tuple[int, int, int] = (1, 2, 2)in_channels: int = 97out_channels: int = 48num_attention_heads: int = 32attention_head_dim: int = 128num_layers: int = 44num_refiner_layers: int = 4mlp_ratio: float = 8.0context_mlp_ratio: float = 4.0refiner_mlp_ratio: float = 4.0text_embed_dim: int = 4096rope_axes_dim: tuple[int, int, int] = (16, 56, 56)rope_theta: float = 256.0rope_temporal_scale: float = 0.6666666666666666 )
パラメータ
- patch_size (
tuple[int, int, int]、デフォルトは(1, 2, 2)) — パッチ埋め込みの(t, h, w)パッチサイズです。 - in_channels (
int、デフォルトは97) — 入力チャネル数: ノイジー・ラテンツ、条件付けラテンツ、および1つの条件付けマスクチャネル。 - out_channels (
int、デフォルトは48) — 出力チャネル数です。 - num_attention_heads (
int、デフォルトは32) — アテンションヘッドの数。 - attention_head_dim (
int、デフォルトは128) — 各アテンションヘッドのチャネル数です。 - num_layers (
int、デフォルトは44) — ジョイントアテンションブロックの数。 - num_refiner_layers (
int、デフォルトは4) — テキスト埋め込みに適用されるトークンリファイナーブロックの数です。 - mlp_ratio (
float、デフォルトは8.0) — 動画フィードフォワードの内部次元と隠れ次元の比率です。 - context_mlp_ratio (
float、デフォルトは4.0) — テキストのフィードフォワード内部次元と隠れ次元の比率です。 - refiner_mlp_ratio (
float、デフォルトは4.0) — トークンリファイナーのフィードフォワード内部次元と隠れ次元の比率です。 - text_embed_dim (
int、デフォルトは4096) — テキストエンコーダーの隠れ状態の次元数です。 - rope_axes_dim (
tuple[int, int, int]、デフォルトは(16, 56, 56)) — 回転埋め込みにおける各(t, h, w)軸のチャネル数です。 - rope_theta (
float、デフォルトは256.0) — 回転埋め込みの基数です。 - rope_temporal_scale (
float、デフォルト値は16 / 24) — 回転埋め込みのフレーム位置に掛けられる係数です。回転埋め込みの基準フレームレートと動画のフレームレートの比(16 fps 対 24 fps)を表します。
PAN 2の拡散トランスフォーマー。
パッチ化された動画の潜在変数と洗練されたテキストトークンの連結に対して、ジョイントアテンションブロックのスタックを適用します。動画の入力は、ノイズ付き潜在変数、条件付け潜在変数、および条件付けマスクをチャネル軸方向にスタックしたものであり、これにより同じモデルがテキストから動画への変換と画像から動画への変換の両方をサポートします。
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple
パラメータ
- hidden_states (
torch.Tensor、形状(batch_size, in_channels, num_frames, height, width)) — ノイズ付き潜在変数、条件付け潜在変数、条件付けマスクをチャネル方向に連結したものです。 - timestep (
torch.Tensor、shape(batch_size,)) —[0, 1000]におけるノイズ除去のタイムステップ。 - encoder_hidden_states (
torch.Tensor、形状(batch_size, text_seq_len, text_embed_dim)) — テキストエンコーダーの隠れ状態です。 - attention_kwargs (
dict、省略可) —AttentionProcessorに渡される kwargs の辞書。LoRA スケールにのみ使用されます。 - return_dict (
bool、任意、デフォルトはTrue) — プレーンなタプルではなく Transformer2DModelOutput を返すかどうか。
戻り値
Transformer2DModelOutput または tuple
形状(batch_size, out_channels, num_frames, height, width)の予測速度。
PAN2Transformer3DModelのforwardメソッド。