Diffusers documentation

EasyAnimateTransformer3DModel

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

EasyAnimateTransformer3DModel

EasyAnimate에서 Alibaba PAI가 3D 데이터를 위한 Diffusion Transformer 모델을 소개했습니다.

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

from diffusers import EasyAnimateTransformer3DModel

transformer = EasyAnimateTransformer3DModel.from_pretrained("alibaba-pai/EasyAnimateV5.1-12b-zh", subfolder="transformer", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

EasyAnimateTransformer3DModel

클래스 diffusers.EasyAnimateTransformer3DModel

< >

( num_attention_heads: int = 48attention_head_dim: int = 64in_channels: int | None = Noneout_channels: int | None = Nonepatch_size: int | None = Nonesample_width: int = 90sample_height: int = 60activation_fn: str = 'gelu-approximate'timestep_activation_fn: str = 'silu'freq_shift: int = 0num_layers: int = 48mmdit_layers: int = 48dropout: float = 0.0time_embed_dim: int = 512add_norm_text_encoder: bool = Falsetext_embed_dim: int = 3584text_embed_dim_t5: int = Nonenorm_eps: float = 1e-05norm_elementwise_affine: bool = Trueflip_sin_to_cos: bool = Truetime_position_encoding_type: str = '3d_rope'after_norm = Falseresize_inpaint_mask_directly: bool = Trueenable_text_attention_mask: bool = Trueadd_noise_in_inpaint_model: bool = True )

매개변수

  • num_attention_heads (int, 기본값 48) — 멀티헤드 어텐션에 사용할 헤드의 수입니다.
  • attention_head_dim (int, 기본값 64) — 각 헤드당 채널 수입니다.
  • in_channels (int, 기본값 16) — 입력의 채널 수입니다.
  • out_channels (int, 선택 사항, 기본값 16) — 출력의 채널 수입니다.
  • patch_size (int, 기본값 2) — 패치 임베딩 레이어에서 사용할 패치의 크기입니다.
  • sample_width (int, 기본값 90) — 입력 latents의 너비입니다.
  • sample_height (int, 기본값 60) — 입력 latents의 높이입니다.
  • activation_fn (str, 기본값 "gelu-approximate") — 피드포워드에서 사용할 활성화 함수입니다.
  • timestep_activation_fn (str, 기본값 "silu") — timestep 임베딩을 생성할 때 사용할 활성화 함수입니다.
  • num_layers (int, 기본값 30) — 사용할 Transformer 블록의 레이어 수입니다.
  • mmdit_layers (int, 기본값 1000) — 사용할 Multi Modal Transformer 블록의 레이어 수입니다.
  • dropout (float, 기본값 0.0) — 사용할 dropout 확률입니다.
  • time_embed_dim (int, 기본값 512) — timestep 임베딩의 출력 차원입니다.
  • text_embed_dim (int, 기본값 4096) — 텍스트 인코더에서 생성된 텍스트 임베딩의 입력 차원입니다.
  • norm_eps (float, 기본값 1e-5) — 정규화 레이어에서 사용할 epsilon 값입니다.
  • norm_elementwise_affine (bool, 기본값 True) — 정규화 레이어에서 elementwise affine을 사용할지 여부입니다.
  • flip_sin_to_cos (bool, 기본값 True) — 시간 임베딩에서 sin을 cos로 전환할지 여부.
  • time_position_encoding_type (str, 기본값 3d_rope) — 시간 위치 인코딩의 유형입니다.
  • after_norm (bool, 기본값 False) — 이후 정규화를 적용할지 여부를 나타내는 플래그입니다.
  • resize_inpaint_mask_directly (bool, 기본값 True) — 인페인팅 마스크를 직접 리사이즈할지 여부를 지정하는 플래그입니다.
  • enable_text_attention_mask (bool, 기본값 True) — 텍스트 attention mask를 활성화할 플래그입니다.
  • add_noise_in_inpaint_model (bool, 기본값 False) — 인페인팅 모델에 노이즈를 추가할지 여부를 지정하는 플래그입니다.

EasyAnimate의 비디오 유사 데이터용 Transformer 모델입니다.

forward

< >

( hidden_states: Tensortimestep: Tensortimestep_cond: typing.Optional[torch.Tensor] = Noneencoder_hidden_states: typing.Optional[torch.Tensor] = Noneencoder_hidden_states_t5: typing.Optional[torch.Tensor] = Noneinpaint_latents: typing.Optional[torch.Tensor] = Nonecontrol_latents: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

매개변수

  • hidden_states (torch.Tensor, shape (batch_size, channels, num_frames, height, width)) — 입력 hidden_states.
  • timestep (torch.LongTensor) — 디노이징 단계를 나타내는 데 사용됩니다.
  • timestep_cond (torch.Tensor, 선택 사항) — timestep에 대한 조건부 임베딩입니다. 제공된 경우, 해당 임베딩은 self.time_embedding 레이어를 통과한 샘플과 합산되어 최종 timestep 임베딩을 생성합니다.
  • encoder_hidden_states (torch.Tensor, 선택 사항) — 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩).
  • encoder_hidden_states_t5 (torch.Tensor, 선택 사항) — T5 텍스트 인코더에서 계산된 추가 조건 임베딩입니다.
  • inpaint_latents (torch.Tensor, 선택 사항) — 모델의 인페인팅 변형에서 hidden_states에 연결되는 잠재 변수(latents)입니다.
  • control_latents (torch.Tensor, 선택 사항) — 모델의 컨트롤 변형에서 hidden_states에 연결되는 잠재 변수(latents)입니다.
  • return_dict (bool, 선택 사항, 기본값 True) — 단순 tuple 대신 ~models.transformer_2d.Transformer2DModelOutput를 반환할지 여부.

EasyAnimateTransformer3DModel의 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