Diffusers documentation

HunyuanDiT2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HunyuanDiT2DModel

Hunyuan-DiT의 2D 데이터를 위한 Diffusion Transformer 모델입니다.

HunyuanDiT2DModel

클래스 diffusers.HunyuanDiT2DModel

< >

( 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) — multi-head attention에 사용할 헤드 수입니다.
  • attention_head_dim (int, 선택 사항, 기본값 88) — 각 헤드당 채널 수입니다.
  • in_channels (int, 선택 사항) — 입력과 출력의 채널 수(입력이 연속형인 경우 지정).
  • patch_size (int, 선택 사항) — 입력에 사용할 패치의 크기입니다.
  • activation_fn (str, 선택 사항, 기본값 "geglu") — 피드포워드에서 사용할 활성화 함수.
  • sample_size (int, 선택 사항) — 잠재 이미지(latent images)의 너비입니다. 학습 중에 위치 임베딩(position embeddings)의 수를 학습하는 데 사용되므로 고정됩니다.
  • 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 기반의 Diffusion 모델.

diffusers의 StableDiffusionPipeline 샘플러와 호환되도록 ModelMixin과 ConfigMixin을 상속하세요.

enable_forward_chunking

< >

( chunk_size: int | None = Nonedim: int = 0 )

매개변수

  • chunk_size (int, 선택 사항) — 피드포워드 레이어의 청크 크기입니다. 지정하지 않으면 dim 차원의 각 텐서에 대해 피드포워드 레이어를 개별적으로 실행합니다.
  • dim (int, 선택 사항, 기본값 0) — 피드포워드 계산을 청킹할 차원입니다. dim=0 (배치) 또는 dim=1 (시퀀스 길이) 중 하나를 선택합니다.

피드 포워드 청킹을 사용할 어텐션 프로세서를 설정합니다.

forward

< >

( 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, shape (batch size, dim, height, width)) — 입력 텐서입니다.
  • timestep ( torch.LongTensor, 선택 사항) — 디노이징 단계를 나타내는 데 사용됩니다.
  • encoder_hidden_states ( torch.Tensor, shape (batch size, sequence len, embed dims), 선택 사항) — 크로스 어텐션 레이어에 사용되는 조건부 임베딩입니다. 이는 BertModel의 출력입니다.
  • text_embedding_mask — torch.Tensor (batch, key_tokens) 모양의 어텐션 마스크가 encoder_hidden_states에 적용됩니다. 이는 BertModel의 출력입니다.
  • encoder_hidden_states_t5 ( torch.Tensor, shape (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) — attention 계산 시 query 및 key 텐서에 적용할 image rotary embeddings입니다.
  • controlnet_block_samples (list of torch.Tensor, 선택 사항) — 지정된 경우 transformer 블록의 잔차에 추가되는 텐서 목록입니다.
  • return_dict — bool 사전(dict)을 반환할지 여부.

HunyuanDiT2DModel의 forward 메서드입니다.

fuse_qkv_projections

< >

( )

융합된 QKV 투영을 활성화합니다. 셀프 어텐션 모듈의 경우, 모든 투영 행렬(즉, 쿼리, 키, 값)이 융합됩니다. 크로스 어텐션 모듈의 경우, 키와 값 투영 행렬이 융합됩니다.

> 이 API는 🧪 실험적입니다.

set_default_attn_processor

< >

( )

커스텀 어텐션 프로세서를 비활성화하고 기본 어텐션 구현을 설정합니다.

unfuse_qkv_projections

< >

( )

활성화된 경우, 융합된 QKV 투영을 비활성화합니다.

> 이 API는 🧪 실험적입니다.

Update on GitHub