Diffusers documentation

HunyuanVideoTransformer3DModel

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[int, ...] = (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