Diffusers documentation

HunyuanDiT2DModel

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