Diffusers documentation

MotifVideoTransformer3DModel

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

MotifVideoTransformer3DModel

Motif Technologies 팀의 Motif-Video에서 3D 비디오 유사 데이터용 Diffusion Transformer 모델이 소개되었습니다.

모델은 비디오 생성을 위해 12개의 dual-stream + 16개의 single-stream + 8개의 DDT decoder 레이어로 구성된 3단계 아키텍처와 rotary positional embeddings(RoPE)을 사용합니다.

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

from diffusers import MotifVideoTransformer3DModel

transformer = MotifVideoTransformer3DModel.from_pretrained("Motif-Technologies/Motif-Video-2B", subfolder="transformer", dtype=torch.bfloat16)

MotifVideoTransformer3DModel

클래스 diffusers.MotifVideoTransformer3DModel

< >

( in_channels: int = 33out_channels: int = 16num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_decoder_layers: int = 0mlp_ratio: float = 4.0patch_size: int = 2patch_size_t: int = 1qk_norm: str = 'rms_norm'norm_type: str = 'layer_norm'text_embed_dim: int = 4096image_embed_dim: int | None = Nonerope_theta: float = 256.0rope_axes_dim: typing.Tuple[int, ...] = (16, 56, 56)enable_text_cross_attention_dual: bool = Falseenable_text_cross_attention_single: bool = False )

매개변수

  • in_channels (int, 기본값 33) — 입력의 채널 수입니다.
  • 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_decoder_layers (int, 기본값 0) — 단일 스트림 블록의 디코더 레이어 수입니다.
  • mlp_ratio (float, 기본값 4.0) — 피드포워드 네트워크에서 은닉층 크기와 입력 크기의 비율입니다.
  • patch_size (int, 기본값 2) — 패치 임베딩 레이어에서 사용할 공간 패치의 크기입니다.
  • patch_size_t (int, 기본값 1) — 패치 임베딩 레이어에서 사용할 시간적 패치의 크기입니다.
  • qk_norm (str, 기본값 rms_norm) — Attention 레이어의 query 및 key projection에 사용할 정규화 방법입니다.
  • text_embed_dim (int, 기본값 4096) — 텍스트 인코더에서 생성된 텍스트 임베딩의 입력 차원입니다.
  • image_embed_dim (int, 선택 사항) — 비전 인코더에서 생성된 이미지 임베딩의 입력 차원입니다. 값을 지정하면 이미지 조건화가 활성화됩니다.
  • rope_theta (float, 기본값 256.0) — RoPE 레이어에서 사용할 theta 값입니다.
  • rope_axes_dim (Tuple[int], 기본값 (16, 56, 56)) — RoPE 레이어에서 사용할 축의 차원입니다.

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

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Noneimage_embeds: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple

매개변수

  • hidden_states (torch.Tensor) — (batch_size, channels, num_frames, height, width) 형식의 입력 잠재 텐서.
  • timestep (torch.LongTensor) — (batch_size,) 모양의 Diffusion timesteps.
  • encoder_hidden_states (torch.Tensor) — (batch_size, sequence_length, embed_dim) 형태의 텍스트 조건부
  • encoder_attention_mask (torch.Tensor) — (batch_size, sequence_length) 모양의 텍스트 조건부(mask)입니다.
  • image_embeds (torch.Tensor, 선택 사항) — (batch_size, num_tokens, embed_dim) 형태의 비전 인코더에서 생성된 이미지 임베딩.
  • attention_kwargs (dict, 선택 사항) — attention processor에 대한 추가 인자.
  • return_dict (bool, 기본값 True) — Transformer2DModelOutput를 반환할지 여부.

반환값

Transformer2DModelOutput 또는 tuple

예측된 샘플입니다.

MotifVideoTransformer3DModel의 Forward pass.

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