Diffusers documentation

TransformerTemporalModel

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

TransformerTemporalModel

비디오와 유사한 데이터를 위한 Transformer 모델.

TransformerTemporalModel

클래스 diffusers.TransformerTemporalModel

< >

( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Noneout_channels: int | None = Nonenum_layers: int = 1dropout: float = 0.0norm_num_groups: int = 32cross_attention_dim: int | None = Noneattention_bias: bool = Falsesample_size: int | None = Noneactivation_fn: str = 'geglu'norm_elementwise_affine: bool = Truedouble_self_attention: bool = Truepositional_embeddings: str | None = Nonenum_positional_embeddings: int | None = None )

매개변수

  • num_attention_heads (int, 선택 사항, 기본값 16) — 멀티헤드 어텐션에 사용할 헤드의 수입니다.
  • attention_head_dim (int, 선택 사항, 기본값 88) — 각 헤드당 채널 수입니다.
  • in_channels (int, 선택 사항) — 입력과 출력의 채널 수(입력이 연속형인 경우 지정).
  • num_layers (int, 선택 사항, 기본값 1) — 사용할 Transformer 블록의 레이어 수입니다.
  • dropout (float, 선택 사항, 기본값 0.0) — 사용할 dropout 확률입니다.
  • cross_attention_dim (int, 선택 사항) — 사용할 encoder_hidden_states 차원의 수입니다.
  • attention_bias (bool, 선택 사항) — TransformerBlock의 attention에 bias 매개변수를 포함할지 구성합니다.
  • sample_size (int, 선택 사항) — 잠재 이미지의 너비(입력이 discrete인 경우 지정). 위치 임베딩의 수를 학습하는 데 사용되므로 학습 중에 고정됩니다.
  • activation_fn (str, 선택 사항, 기본값 "geglu") — 피드포워드에서 사용할 활성화 함수입니다. 지원되는 활성화 함수는 diffusers.models.activations.get_activation를 참조하세요.
  • norm_elementwise_affine (bool, 선택 사항) — TransformerBlock이 정규화에 학습 가능한 elementwise affine 매개변수를 사용할지 구성합니다.
  • double_self_attention (bool, 선택 사항) — 각 TransformerBlock에 두 개의 self-attention 레이어를 포함할지 구성합니다.
  • positional_embeddings — (str, 선택 사항): use로 전달하기 전에 시퀀스 입력에 적용할 위치 임베딩의 유형입니다.
  • num_positional_embeddings — (int, 선택 사항): 위치 임베딩을 적용할 시퀀스의 최대 길이입니다.

비디오와 유사한 데이터를 위한 Transformer 모델.

forward

< >

( hidden_states: Tensorencoder_hidden_states: typing.Optional[torch.LongTensor] = Nonetimestep: typing.Optional[torch.LongTensor] = Noneclass_labels: LongTensor = Nonenum_frames: int = 1cross_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → TransformerTemporalModelOutput or tuple

매개변수

  • hidden_states (torch.LongTensor, shape (batch size, num latent pixels) (discrete인 경우), torch.Tensor, shape (batch size, channel, height, width) (continuous인 경우)) — 입력 hidden_states.
  • encoder_hidden_states ( torch.LongTensor, shape (batch size, encoder_hidden_states dim), 선택 사항) — 크로스 어텐션 레이어에 사용되는 조건부 임베딩입니다. 지정되지 않으면 크로스 어텐션은 기본적으로 셀프 어텐션으로 동작합니다.
  • timestep ( torch.LongTensor, 선택 사항) — 디노이징 단계를 나타내는 데 사용됩니다. AdaLayerNorm에서 임베딩으로 적용될 선택적 timestep입니다.
  • class_labels ( torch.LongTensor, shape (batch size, num classes), 선택 사항) — 클래스 레이블 조건화를 나타내는 데 사용됩니다. AdaLayerZeroNorm에서 임베딩으로 적용될 선택적 클래스 레이블입니다.
  • num_frames (int, 선택 사항, 기본값 1) — 배치당 처리할 프레임 수입니다. 이는 hidden states를 reshape하는 데 사용됩니다.
  • cross_attention_kwargs (dict, 선택 사항) — 지정된 경우 diffusers.models.attention_processor의 self.processor에서 정의된 AttentionProcessor로 전달되는 kwargs 사전입니다.
  • return_dict (bool, 선택 사항, 기본값 True) — 단순 튜플 대신 TransformerTemporalModelOutput를 반환할지 여부.

반환값

TransformerTemporalModelOutput 또는 tuple

return_dict가 True이면 TransformerTemporalModelOutput이 반환되고, 그렇지 않으면 첫 번째 요소가 샘플 텐서인 tuple이 반환됩니다.

TransformerTemporal의 forward 메서드입니다.

TransformerTemporalModelOutput

class diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput

< >

( sample: Tensor )

매개변수

  • sample (torch.Tensor, shape (batch_size x num_frames, num_channels, height, width)) — encoder_hidden_states 입력에 조건부인 히든 상태 출력입니다.

TransformerTemporalModel의 출력입니다.

Update on GitHub