Diffusers documentation

HunyuanVideoTransformer3DModel

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

HunyuanVideoTransformer3DModel

Tencent에서 HunyuanVideo: A Systematic Framework For Large Video Generative Models을 통해 3D 비디오 유사 데이터용 Diffusion Transformer 모델을 소개했습니다.

다음 코드 스니펫으로 모델을 로드할 수 있습니다.

from diffusers import HunyuanVideoTransformer3DModel

transformer = HunyuanVideoTransformer3DModel.from_pretrained("hunyuanvideo-community/HunyuanVideo", subfolder="transformer", dtype=torch.bfloat16)

HunyuanVideoTransformer3DModel

클래스 diffusers.HunyuanVideoTransformer3DModel

< >

( in_channels: int = 16out_channels: int = 16num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_refiner_layers: int = 2mlp_ratio: float = 4.0patch_size: int = 2patch_size_t: int = 1qk_norm: str = 'rms_norm'guidance_embeds: bool = Truetext_embed_dim: int = 4096pooled_projection_dim: int = 768rope_theta: float = 256.0rope_axes_dim: tuple = (16, 56, 56)image_condition_type: str | None = None )

매개변수

  • in_channels (int, 기본값 16) — 입력의 채널 수입니다.
  • out_channels (int, 기본값 16) — 출력의 채널 수입니다.
  • num_attention_heads (int, 기본값 24) — 멀티헤드 어텐션에 사용할 헤드의 수입니다.
  • attention_head_dim (int, 기본값 128) — 각 헤드당 채널 수입니다.
  • num_layers (int, 기본값 20) — 사용할 dual-stream 블록의 레이어 수입니다.
  • num_single_layers (int, 기본값 40) — 사용할 단일 스트림 블록의 레이어 수입니다.
  • num_refiner_layers (int, 기본값 2) — 사용할 refiner 블록의 레이어 수입니다.
  • mlp_ratio (float, 기본값 4.0) — 피드포워드 네트워크에서 은닉층 크기와 입력 크기의 비율입니다.
  • patch_size (int, 기본값 2) — 패치 임베딩 레이어에서 사용할 공간 패치의 크기입니다.
  • patch_size_t (int, 기본값 1) — 패치 임베딩 레이어에서 사용할 시간적 패치의 크기입니다.
  • qk_norm (str, 기본값 rms_norm) — Attention 레이어의 query 및 key projection에 사용할 정규화 방법입니다.
  • guidance_embeds (bool, 기본값 True) — 모델에서 guidance embeddings를 사용할지 여부.
  • text_embed_dim (int, 기본값 4096) — 텍스트 인코더에서 생성된 텍스트 임베딩의 입력 차원입니다.
  • pooled_projection_dim (int, 기본값 768) — 텍스트 임베딩의 풀링 투영 차원입니다.
  • rope_theta (float, 기본값 256.0) — RoPE 레이어에서 사용할 theta 값입니다.
  • rope_axes_dim (tuple[int], 기본값 (16, 56, 56)) — RoPE 레이어에서 사용할 축의 차원입니다.
  • image_condition_type (str, 선택 사항, 기본값 None) — 사용할 이미지 조건화 유형입니다. None인 경우 이미지 조건화를 사용하지 않습니다. latent_concat인 경우 이미지가 latent stream에 연결됩니다. token_replace인 경우 이미지가 latent stream의 첫 번째 프레임 토큰을 대체하는 데 사용되고 조건화가 적용됩니다.

HunyuanVideo에서 사용되는 비디오 유사 데이터용 Transformer 모델입니다.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: Tensorpooled_projections: Tensorguidance: Tensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

매개변수

  • hidden_states (torch.Tensor, shape (batch_size, num_channels, num_frames, height, width)) — 입력 hidden_states.
  • timestep (torch.LongTensor) — 디노이징 단계를 나타내는 데 사용됩니다.
  • encoder_hidden_states (torch.Tensor, shape (batch_size, sequence_len, embed_dims)) — 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩).
  • encoder_attention_mask (torch.Tensor) — Attention 과정에서 encoder_hidden_states에 적용되는 마스크입니다.
  • pooled_projections (torch.Tensor, shape (batch_size, projection_dim)) — 입력 조건의 임베딩에서 투영된 임베딩입니다.
  • guidance (torch.Tensor, optional) — Guidance scale embedding used for guidance-distilled variants of the model.
  • attention_kwargs (dict, 선택 사항) — 지정된 경우 diffusers.models.attention_processor의 self.processor에서 정의된 AttentionProcessor로 전달되는 kwargs 사전입니다.
  • return_dict (bool, 선택 사항, 기본값 True) — 단순 tuple 대신 ~models.transformer_2d.Transformer2DModelOutput를 반환할지 여부.

HunyuanVideoTransformer3DModel의 forward 메서드입니다.

Transformer2DModelOutput

클래스 diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

매개변수

  • sample (torch.Tensor, shape (batch_size, num_channels, height, width) 또는 Transformer2DModel이 discrete인 경우 (batch size, num_vector_embeds - 1, num_latent_pixels)) — encoder_hidden_states 입력에 조건부인 hidden states 출력입니다. discrete인 경우, 노이즈가 제거된 latent 픽셀에 대한 확률 분포를 반환합니다.

Transformer2DModel의 출력입니다.

Update on GitHub