# TransformerTemporalModel

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

## TransformerTemporalModel[[diffusers.TransformerTemporalModel]]

#### diffusers.TransformerTemporalModel[[diffusers.TransformerTemporalModel]]

```python
diffusers.TransformerTemporalModel(num_attention_heads: int = 16, attention_head_dim: int = 88, in_channels: int | None = None, out_channels: int | None = None, num_layers: int = 1, dropout: float = 0.0, norm_num_groups: int = 32, cross_attention_dim: int | None = None, attention_bias: bool = False, sample_size: int | None = None, activation_fn: str = 'geglu', norm_elementwise_affine: bool = True, double_self_attention: bool = True, positional_embeddings: str | None = None, num_positional_embeddings: int | None = None)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L41)

**매개변수:**

num_attention_heads (`int`, *선택 사항*, 기본값 16) : 멀티 헤드 어텐션에 사용할 헤드 수입니다.

attention_head_dim (`int`, *선택 사항*, 기본값 88) : 각 헤드(head)의 채널 수입니다.

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`이 정규화에 학습 가능한 요소별 아핀 파라미터를 사용할지 구성합니다.

double_self_attention (`bool`, *선택 사항*) : 각 `TransformerBlock`에 두 개의 self-attention 레이어를 포함할지 구성합니다.

positional_embeddings : (`str`, *선택 사항*): 시퀀스 입력에 적용할 위치 임베딩의 유형입니다.

num_positional_embeddings : (`int`, *선택 사항*): 위치 임베딩을 적용할 시퀀스의 최대 길이입니다.

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

#### forward[[diffusers.TransformerTemporalModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: typing.Optional[torch.LongTensor] = None, timestep: typing.Optional[torch.LongTensor] = None, class_labels: LongTensor = None, num_frames: int = 1, cross_attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L123)

**매개변수:**

hidden_states (`torch.LongTensor`의 경우 `(batch size, num latent pixels)` 형태, `torch.Tensor`의 경우 `(batch size, channel, height, width)` 형태) : 입력 hidden_states.

encoder_hidden_states ( `torch.LongTensor`, shape `(batch size, encoder_hidden_states dim)`, *선택 사항*) : cross attention layer에 사용되는 조건부 임베딩입니다. 제공되지 않으면 cross-attention은 기본적으로 self-attention으로 동작합니다.

timestep ( `torch.LongTensor`, *선택 사항*) : 노이즈 제거 단계를 나타내는 데 사용됩니다. `AdaLayerNorm`에서 임베딩으로 적용될 선택적 타임스텝입니다.

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](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py)의 `self.processor` 아래에서 정의된 `AttentionProcessor`로 전달되는 kwargs 사전입니다.

return_dict (`bool`, *선택 사항*, 기본값 `True`) : 일반 튜플 대신 [TransformerTemporalModelOutput](/docs/diffusers/main/ko/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput)을 반환할지 여부.

**반환값:** [TransformerTemporalModelOutput](/docs/diffusers/main/ko/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput) 또는 `tuple`

`return_dict`가 True이면 [TransformerTemporalModelOutput](/docs/diffusers/main/ko/api/models/transformer_temporal#diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput)이 반환되고, 그렇지 않으면 첫 번째 요소가 샘플 텐서인 `tuple`이 반환됩니다.

`TransformerTemporal`의 forward 메서드입니다.

## TransformerTemporalModelOutput[[diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput]]

#### diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput[[diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput]]

```python
diffusers.models.transformers.transformer_temporal.TransformerTemporalModelOutput(sample: Tensor)
```

[소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_temporal.py#L29)

**매개변수:**

sample (`torch.Tensor`, shape `(batch_size x num_frames, num_channels, height, width)`) : `encoder_hidden_states` 입력에 조건부인 히든 스테이트 출력입니다.

[TransformerTemporalModel](/docs/diffusers/main/ko/api/models/transformer_temporal#diffusers.TransformerTemporalModel)의 출력입니다.

