Buckets:
| # SD3 Transformer 모델 | |
| [Stable Diffusion 3](https://hf.co/papers/2403.03206)에 소개된 Transformer 모델입니다. MMDiT transformer 블록에 그 독창성이 있습니다. | |
| ## SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]] | |
| #### diffusers.SD3Transformer2DModel[[diffusers.SD3Transformer2DModel]] | |
| ```python | |
| diffusers.SD3Transformer2DModel(sample_size: int = 128, patch_size: int = 2, in_channels: int = 16, num_layers: int = 18, attention_head_dim: int = 64, num_attention_heads: int = 18, joint_attention_dim: int = 4096, caption_projection_dim: int = 1152, pooled_projection_dim: int = 2048, out_channels: int = 16, pos_embed_max_size: int = 96, dual_attention_layers: tuple = (), qk_norm: str | None = None) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L79) | |
| **매개변수:** | |
| sample_size (`int`, 기본값 `128`) : latents의 너비/높이입니다. 학습 중에 position embeddings의 수를 학습하는 데 사용되므로 고정됩니다. | |
| patch_size (`int`, 기본값 `2`) : 입력 데이터를 작은 패치로 변환하기 위한 패치 크기. | |
| in_channels (`int`, 기본값 `16`) : 입력의 잠재 채널 수입니다. | |
| num_layers (`int`, 기본값 `18`) : 사용할 transformer 블록의 레이어 수입니다. | |
| attention_head_dim (`int`, 기본값 `64`) : 각 헤드(head)의 채널 수. | |
| num_attention_heads (`int`, 기본값 `18`) : multi-head attention에 사용할 헤드 수입니다. | |
| joint_attention_dim (`int`, 기본값 `4096`) : 텍스트-이미지 결합 주의를 사용할 임베딩 차원입니다. | |
| caption_projection_dim (`int`, 기본값 `1152`) : 캡션 임베딩의 임베딩 차원입니다. | |
| pooled_projection_dim (`int`, 기본값 `2048`) : 풀링된 텍스트 투영의 임베딩 차원입니다. | |
| out_channels (`int`, 기본값 `16`) : 출력의 잠재 채널 수입니다. | |
| pos_embed_max_size (`int`, 기본값 `96`) : 위치 임베딩의 최대 잠재 높이/너비. | |
| dual_attention_layers (`tuple[int, ...]`, 기본값 `()`) : 사용할 dual-stream transformer 블록의 수입니다. | |
| qk_norm (`str`, *선택 사항*, 기본값 `None`) : attention 레이어에서 query와 key에 사용할 정규화입니다. `None`인 경우 정규화를 사용하지 않습니다. | |
| [Stable Diffusion 3](https://huggingface.co/papers/2403.03206)에 소개된 Transformer 모델입니다. | |
| #### enable_forward_chunking[[diffusers.SD3Transformer2DModel.enable_forward_chunking]] | |
| ```python | |
| enable_forward_chunking(chunk_size: int | None = None, dim: int = 0) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L175) | |
| **매개변수:** | |
| chunk_size (`int`, *선택 사항*) : 피드포워드 레이어의 청크 크기입니다. 지정하지 않으면 `dim` 차원의 각 텐서에 대해 피드포워드 레이어를 개별적으로 실행합니다. | |
| dim (`int`, *선택 사항*, 기본값 `0`) : 피드포워드 계산을 청킹할 차원입니다. dim=0 (배치) 또는 dim=1 (시퀀스 길이) 중 하나를 선택합니다. | |
| [feed forward chunking](https://huggingface.co/blog/reformer#2-chunked-feed-forward-layers)을 사용할 attention processor를 설정합니다. | |
| #### forward[[diffusers.SD3Transformer2DModel.forward]] | |
| ```python | |
| forward(hidden_states: Tensor, encoder_hidden_states: Tensor = None, pooled_projections: Tensor = None, timestep: LongTensor = None, block_controlnet_hidden_states: list = None, joint_attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True, skip_layers: list[int] | None = None) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L248) | |
| **매개변수:** | |
| hidden_states (`torch.Tensor`, shape `(batch size, channel, height, width)`) : 입력 `hidden_states`. | |
| encoder_hidden_states (`torch.Tensor`, shape `(batch size, sequence_len, embed_dims)`) : 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩). | |
| pooled_projections (`torch.Tensor`, shape `(batch_size, projection_dim)`) : 입력 조건의 임베딩에서 투영된 임베딩. | |
| timestep (`torch.LongTensor`) : 노이즈 제거 단계를 나타내는 데 사용됩니다. | |
| block_controlnet_hidden_states (`list` of `torch.Tensor`) : 지정된 경우, transformer 블록의 잔차(residuals)에 추가되는 텐서 목록입니다. | |
| joint_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`) : 일반 튜플 대신 `~models.transformer_2d.Transformer2DModelOutput`을 반환할지 여부. | |
| skip_layers (`list` of `int`, *선택 사항*) : forward pass 중에 건너뛸 레이어 인덱스 목록입니다. | |
| **반환값:** | |
| `return_dict`가 True이면 `~models.transformer_2d.Transformer2DModelOutput`이 반환되고, 그렇지 않으면 첫 번째 요소가 샘플 텐서인 `tuple`이 반환됩니다. | |
| [SD3Transformer2DModel](/docs/diffusers/main/ko/api/models/sd3_transformer2d#diffusers.SD3Transformer2DModel)의 forward 메서드입니다. | |
| #### fuse_qkv_projections[[diffusers.SD3Transformer2DModel.fuse_qkv_projections]] | |
| ```python | |
| fuse_qkv_projections() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L217) | |
| 융합된 QKV 투영을 활성화합니다. 셀프 어텐션 모듈의 경우, 모든 투영 행렬(즉, 쿼리, 키, 값)이 융합됩니다. 크로스 어텐션 모듈의 경우, 키와 값 투영 행렬이 융합됩니다. | |
| > [!WARNING] > 이 API는 🧪 실험적입니다. | |
| #### unfuse_qkv_projections[[diffusers.SD3Transformer2DModel.unfuse_qkv_projections]] | |
| ```python | |
| unfuse_qkv_projections() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_sd3.py#L239) | |
| 활성화된 경우, 융합된 QKV 투영을 비활성화합니다. | |
| > [!WARNING] > 이 API는 🧪 실험적입니다. | |
Xet Storage Details
- Size:
- 6.25 kB
- Xet hash:
- 0c410eb795f479e7a5471c311816507890eb473d07206ca6b3f082a21919740b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.