Diffusers documentation
HunyuanDiT2DModel
HunyuanDiT2DModel
Hunyuan-DiTの2次元データ向けのDiffusion Transformerモデルです。
HunyuanDiT2DModel
class diffusers.HunyuanDiT2DModel
< source >( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Nonepatch_size: int | None = Noneactivation_fn: str = 'gelu-approximate'sample_size = 32hidden_size = 1152num_layers: int = 28mlp_ratio: float = 4.0learn_sigma: bool = Truecross_attention_dim: int = 1024norm_type: str = 'layer_norm'cross_attention_dim_t5: int = 2048pooled_projection_dim: int = 1024text_len: int = 77text_len_t5: int = 256use_style_cond_and_image_meta_size: bool = True )
パラメータ
- num_attention_heads (
int、任意、デフォルトは 16)— マルチヘッドアテンションで使用するヘッドの数。 - attention_head_dim (
int、任意、デフォルト値は 88) — 各ヘッドのチャネル数です。 - in_channels (
int, 省略可) — 入力および出力のチャネル数(入力が連続値の場合に指定します)。 - patch_size (
int, 省略可) — 入力に使用するパッチのサイズです。 - activation_fn (
str、任意、デフォルトは"geglu") — フィードフォワード層で使用する活性化関数。 - sample_size (
int, 任意) — 潜在画像の幅です。これは位置埋め込みの数を学習するために使用されるため、学習中は固定されます。 - dropout (
float、任意、デフォルト値は 0.0) — 使用する dropout の確率です。 - cross_attention_dim (
int, 任意) — CLIP テキスト埋め込みの次元数です。 - hidden_size (
int, 任意) — 条件付け埋め込み層の隠れ層のサイズです。 - num_layers (
int、任意、デフォルトは 1) — 使用する Transformer ブロックの層数です。 - mlp_ratio (
float、任意、デフォルト値は 4.0) — 隠れ層のサイズと入力サイズの比率です。 - learn_sigma (
bool、省略可、デフォルトはTrue) — 分散を予測するかどうか。 - cross_attention_dim_t5 (
int、任意) — t5 テキスト埋め込みの次元数です。 - pooled_projection_dim (
int, 任意) — プーリングされた投影のサイズです。 - text_len (
int, 任意) — クリップのテキスト埋め込みの長さです。 - text_len_t5 (
int、任意) — T5 テキスト埋め込みの長さです。 - use_style_cond_and_image_meta_size (
bool, 任意) — スタイル条件と画像メタサイズを使用するかどうか。バージョン <=1.1 では True、バージョン >= 1.2 では False
HunYuanDiT: Transformerバックボーンを持つ拡散モデル。
diffusers のサンプラー StableDiffusionPipeline と互換性を持たせるために、ModelMixin と ConfigMixin を継承します。
enable_forward_chunking
< source >( chunk_size: int | None = Nonedim: int = 0 )
フィードフォワードチャンク分割を使用するアテンションプロセッサを設定します。
forward
< source >( hidden_statestimestepencoder_hidden_states = Nonetext_embedding_mask = Noneencoder_hidden_states_t5 = Nonetext_embedding_mask_t5 = Noneimage_meta_size = Nonestyle = Noneimage_rotary_emb = Nonecontrolnet_block_samples = Nonereturn_dict = True )
パラメータ
- hidden_states (
torch.Tensor、形状(batch size, dim, height, width)) — 入力テンソルです。 - timestep (
torch.LongTensor, 任意) — デノイジングステップを示すために使用します。 - encoder_hidden_states (
torch.Tensor、形状(batch size, sequence len, embed dims)、任意) — クロスアテンション層用の条件付きエンベディングです。BertModelの出力です。 - text_embedding_mask — torch.Tensor
encoder_hidden_statesに、(batch, key_tokens)の形状を持つアテンションマスクが適用されます。これはBertModelの出力です。 - encoder_hidden_states_t5 (
torch.Tensor、形状(batch size, sequence len, embed dims)、任意) — クロスアテンション層用の条件付きエンベディングです。これは T5 Text Encoder の出力です。 - text_embedding_mask_t5 — torch.Tensor
encoder_hidden_statesに、(batch, key_tokens)の形状を持つアテンションマスクが適用されます。これは T5 Text Encoder の出力です。 - image_meta_size (torch.Tensor) — 画像サイズを示す条件埋め込み
- style — torch.Tensor: スタイルを示す条件埋め込み
- image_rotary_emb (
torch.Tensor) — アテンション計算時にクエリとキーのテンソルに適用する画像ロータリー埋め込み。 - controlnet_block_samples (
listoftorch.Tensor, 任意) — 指定された場合、transformer ブロックの残差に追加されるテンソルのリストです。 - return_dict — bool 辞書を返すかどうか。
HunyuanDiT2DModel の forward メソッド。
融合された QKV 投影を有効にします。自己注意モジュールでは、すべての投影行列(つまり、クエリ、キー、バリュー)が融合されます。相互注意モジュールでは、キーとバリューの投影行列が融合されます。
> このAPIは🧪実験的です。
カスタムアテンションプロセッサを無効にし、デフォルトのアテンション実装を設定します。