Diffusers documentation
StableAudioDiTModel
StableAudioDiTModel
Stable Audio Open의 오디오 웨이브폼용 Transformer 모델입니다.
StableAudioDiTModel
클래스 diffusers.StableAudioDiTModel
< source >( sample_size: int = 1024in_channels: int = 64num_layers: int = 24attention_head_dim: int = 64num_attention_heads: int = 24num_key_value_attention_heads: int = 12out_channels: int = 64cross_attention_dim: int = 768time_proj_dim: int = 256global_states_input_dim: int = 1536cross_attention_input_dim: int = 768 )
매개변수
- sample_size (
int, 선택 사항, 기본값 1024) — 입력 샘플의 크기입니다. - in_channels (
int, 선택 사항, 기본값 64) — 입력의 채널 수입니다. - num_layers (
int, 선택 사항, 기본값 24) — 사용할 Transformer 블록의 레이어 수입니다. - attention_head_dim (
int, 선택 사항, 기본값 64) — 각 헤드당 채널 수입니다. - num_attention_heads (
int, 선택 사항, 기본값 24) — 쿼리 상태에 사용할 헤드 수입니다. - num_key_value_attention_heads (
int, 선택 사항, 기본값 12) — key와 value 상태에 사용할 헤드 수입니다. - out_channels (
int, 기본값 64) — 출력 채널 수. - cross_attention_dim (
int, 선택 사항, 기본값 768) — 크로스 어텐션 투영의 차원입니다. - time_proj_dim (
int, 선택 사항, 기본값 256) — 타임스텝 내부 투영의 차원. - global_states_input_dim (
int, 선택 사항, 기본값 1536) — 글로벌 히든 상태 투영의 입력 차원입니다. - cross_attention_input_dim (
int, 선택 사항, 기본값 768) — 크로스 어텐션 투영의 입력 차원
Stable Audio에서 소개한 Diffusion Transformer 모델입니다.
참고: https://github.com/Stability-AI/stable-audio-tools
forward
< source >( hidden_states: FloatTensortimestep: LongTensor = Noneencoder_hidden_states: FloatTensor = Noneglobal_hidden_states: FloatTensor = Nonerotary_embedding: FloatTensor = Nonereturn_dict: bool = Trueattention_mask: typing.Optional[torch.LongTensor] = Noneencoder_attention_mask: typing.Optional[torch.LongTensor] = None )
매개변수
- hidden_states (
torch.FloatTensor, shape(batch size, in_channels, sequence_len)) — 입력hidden_states. - timestep (
torch.LongTensor) — 디노이징 단계를 나타내는 데 사용됩니다. - encoder_hidden_states (
torch.FloatTensor, shape(batch size, encoder_sequence_len, cross_attention_input_dim)) — 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩). - global_hidden_states (
torch.FloatTensor, shape(batch size, global_sequence_len, global_states_input_dim)) — Hidden states 앞에 추가될 전역 임베딩입니다. - rotary_embedding (
torch.Tensor) — Attention 계산 시 query 및 key 텐서에 적용할 rotary embeddings입니다. - return_dict (
bool, 선택 사항, 기본값True) — 단순 tuple 대신~models.transformer_2d.Transformer2DModelOutput를 반환할지 여부. - attention_mask (
torch.Tensorshape(batch_size, sequence_len), 선택 사항) — 패딩 토큰 인덱스에 대한 attention을 수행하지 않도록 방지하는 마스크입니다. 두 텍스트 인코더의 attention 마스크를 연결하여 구성됩니다.[0, 1]:- 마스크가 적용되지 않은 토큰에 대해 1
- 0은 마스크된 토큰에 대해 적용됩니다.
- encoder_attention_mask (
torch.Tensorshape(batch_size, sequence_len), 선택 사항) — 두 텍스트 인코더의 attention mask를 연결하여 형성된, padding token의 cross-attention 인덱스에 attention을 수행하지 않도록 하는 mask.[0, 1]:- 마스크가 적용되지 않은 토큰에 대해 1
- 0은 마스크된 토큰에 대해 적용됩니다.
StableAudioDiTModel의 forward 메서드입니다.
커스텀 어텐션 프로세서를 비활성화하고 기본 어텐션 구현을 설정합니다.