Buckets:
| # PixArtTransformer2DModel | |
| [PixArt-Alpha](https://huggingface.co/papers/2310.00426)와 [PixArt-Sigma](https://huggingface.co/papers/2403.04692)의 이미지형 데이터용 Transformer 모델입니다. | |
| ## PixArtTransformer2DModel[[diffusers.PixArtTransformer2DModel]] | |
| #### diffusers.PixArtTransformer2DModel[[diffusers.PixArtTransformer2DModel]] | |
| ```python | |
| diffusers.PixArtTransformer2DModel(num_attention_heads: int = 16, attention_head_dim: int = 72, in_channels: int = 4, out_channels: int | None = 8, num_layers: int = 28, dropout: float = 0.0, norm_num_groups: int = 32, cross_attention_dim: int | None = 1152, attention_bias: bool = True, sample_size: int = 128, patch_size: int = 2, activation_fn: str = 'gelu-approximate', num_embeds_ada_norm: int | None = 1000, upcast_attention: bool = False, norm_type: str = 'ada_norm_single', norm_elementwise_affine: bool = False, norm_eps: float = 1e-06, interpolation_scale: int | None = None, use_additional_conditions: bool | None = None, caption_channels: int | None = None, attention_type: str | None = 'default') | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/pixart_transformer_2d.py#L32) | |
| **매개변수:** | |
| num_attention_heads (int, optional, 기본값 16) : multi-head attention에 사용할 head의 수입니다. | |
| attention_head_dim (int, optional, 기본값 72) : 각 헤드(head)의 채널 수. | |
| in_channels (int, 기본값 4) : 입력의 채널 수. | |
| out_channels (int, optional) : 출력의 채널 수입니다. 출력이 입력과 다른 채널 수를 가질 경우 이 매개변수를 지정합니다. | |
| num_layers (int, optional, 기본값 28) : 사용할 Transformer 블록의 레이어 수입니다. | |
| dropout (float, optional, 기본값 0.0) : Transformer 블록 내에서 사용할 dropout 확률입니다. | |
| norm_num_groups (int, optional, 기본값 32) : Transformer 블록 내에서 그룹 정규화에 사용할 그룹 수. | |
| cross_attention_dim (int, optional) : 교차 주의(cross-attention) 레이어의 차원이며, 일반적으로 인코더의 숨겨진 차원과 일치합니다. | |
| attention_bias (bool, optional, 기본값 True) : Transformer 블록의 attention에 bias 매개변수를 포함할지 구성합니다. | |
| sample_size (int, 기본값 128) : 잠재 이미지의 폭입니다. 이 매개변수는 학습 중에 고정됩니다. | |
| patch_size (int, 기본값 2) : 모델이 처리하는 패치의 크기입니다. 순차적이지 않은 데이터를 다루는 아키텍처에 관련이 있습니다. | |
| activation_fn (str, optional, 기본값 "gelu-approximate") : Transformer 블록 내 피드포워드 네트워크에서 사용할 활성화 함수. | |
| num_embeds_ada_norm (int, optional, 기본값 1000) : AdaLayerNorm의 임베딩 수입니다. 학습 중에 고정되며 추론 시 최대 디노이징 스텝에 영향을 줍니다. | |
| upcast_attention (bool, optional, 기본값 False) : true인 경우, 성능 향상을 위해 attention 메커니즘의 차원을 upcast합니다. | |
| norm_type (str, optional, 기본값 "ada_norm_zero") : 사용할 정규화 유형을 지정하며, 'ada_norm_zero'를 사용할 수 있습니다. | |
| norm_elementwise_affine (bool, optional, 기본값 False) : true인 경우, 정규화 레이어에서 요소별(affine) 파라미터를 활성화합니다. | |
| norm_eps (float, optional, 기본값 1e-6) : 정규화 레이어의 분모에 더해져 0으로 나누는 것을 방지하는 작은 상수입니다. | |
| interpolation_scale (int, optional) : 위치 임베딩을 보간할 때 사용할 스케일 팩터. | |
| use_additional_conditions (bool, optional) : 추가 조건을 입력으로 사용할 때. | |
| attention_type (str, 선택 사항, 기본값 "default") : 사용할 attention mechanism의 종류입니다. | |
| caption_channels (int, optional, 기본값 None) : 캡션 임베딩을 투영할 때 사용할 채널 수. | |
| use_linear_projection (bool, optional, 기본값 False) : 비추천되는 인자입니다. 향후 버전에서 제거될 예정입니다. | |
| num_vector_embeds (bool, optional, 기본값 False) : 비추천되는 인자입니다. 향후 버전에서 제거될 예정입니다. | |
| PixArt 모델 계열(https://huggingface.co/papers/2310.00426, https://huggingface.co/papers/2403.04692)에서 소개된 2D Transformer 모델입니다. | |
| #### forward[[diffusers.PixArtTransformer2DModel.forward]] | |
| ```python | |
| forward(hidden_states: Tensor, encoder_hidden_states: typing.Optional[torch.Tensor] = None, timestep: typing.Optional[torch.LongTensor] = None, added_cond_kwargs: dict = None, cross_attention_kwargs: dict = None, attention_mask: typing.Optional[torch.Tensor] = None, encoder_attention_mask: typing.Optional[torch.Tensor] = None, return_dict: bool = True) | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/pixart_transformer_2d.py#L227) | |
| **매개변수:** | |
| hidden_states (`torch.FloatTensor`, shape `(batch size, channel, height, width)`) : 입력 `hidden_states`. | |
| encoder_hidden_states (`torch.FloatTensor`, shape `(batch size, sequence len, embed dims)`, *선택 사항*) : cross attention layer에 사용되는 조건부 임베딩입니다. 제공되지 않으면 cross-attention은 기본적으로 self-attention으로 동작합니다. | |
| timestep (`torch.LongTensor`, *선택 사항*) : 노이즈 제거 단계를 나타내는 데 사용됩니다. `AdaLayerNorm`에서 임베딩으로 적용될 선택적 타임스텝입니다. | |
| added_cond_kwargs : (`dict[str, Any]`, *선택 사항*): 입력으로 사용할 추가 조건. | |
| cross_attention_kwargs ( `dict[str, Any]`, *선택*) : 지정된 경우 [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py)의 `self.processor` 아래에서 정의된 `AttentionProcessor`로 전달되는 kwargs 사전입니다. | |
| attention_mask ( `torch.Tensor`, *선택 사항*) : `(batch, key_tokens)` 모양의 어텐션 마스크가 `encoder_hidden_states`에 적용됩니다. `1`인 경우 마스크가 유지되고, `0`인 경우 폐기됩니다. 마스크는 바이어스로 변환되어 "폐기" 토큰에 해당하는 어텐션 점수에 큰 음의 값을 더합니다. | |
| encoder_attention_mask ( `torch.Tensor`, *선택 사항*) : `encoder_hidden_states`에 적용되는 크로스 어텐션 마스크. 두 가지 형식을 지원합니다: * 마스크 `(batch, sequence_length)` True = 유지, False = 제거. * 바이어스 `(batch, 1, sequence_length)` 0 = 유지, -10000 = 제거. `ndim == 2`인 경우: 마스크로 해석된 후, 위의 형식과 일관된 바이어스로 변환됩니다. 이 바이어스는 크로스 어텐션 점수에 추가됩니다. | |
| return_dict (`bool`, *선택 사항*, 기본값 `True`) : 일반 튜플 대신 [UNet2DConditionOutput](/docs/diffusers/main/ko/api/models/unet2d-cond#diffusers.models.unets.unet_2d_condition.UNet2DConditionOutput)을 반환할지 여부. | |
| **반환값:** | |
| `return_dict`가 True이면 `~models.transformer_2d.Transformer2DModelOutput`이 반환되고, 그렇지 않으면 첫 번째 요소가 샘플 텐서인 `tuple`이 반환됩니다. | |
| [PixArtTransformer2DModel](/docs/diffusers/main/ko/api/models/pixart_transformer2d#diffusers.PixArtTransformer2DModel)의 forward 메서드입니다. | |
| #### fuse_qkv_projections[[diffusers.PixArtTransformer2DModel.fuse_qkv_projections]] | |
| ```python | |
| fuse_qkv_projections() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/pixart_transformer_2d.py#L196) | |
| 융합된 QKV 투영을 활성화합니다. 셀프 어텐션 모듈의 경우, 모든 투영 행렬(즉, 쿼리, 키, 값)이 융합됩니다. 크로스 어텐션 모듈의 경우, 키와 값 투영 행렬이 융합됩니다. | |
| > [!WARNING] > 이 API는 🧪 실험적입니다. | |
| #### set_default_attn_processor[[diffusers.PixArtTransformer2DModel.set_default_attn_processor]] | |
| ```python | |
| set_default_attn_processor() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/pixart_transformer_2d.py#L187) | |
| 커스텀 어텐션 프로세서를 비활성화하고 기본 어텐션 구현을 설정합니다. | |
| PixArt의 기본 모델에는 특수한 attention processor가 없으므로 `AttnProcessor()`를 그대로 사용하는 것이 안전합니다. | |
| #### unfuse_qkv_projections[[diffusers.PixArtTransformer2DModel.unfuse_qkv_projections]] | |
| ```python | |
| unfuse_qkv_projections() | |
| ``` | |
| [소스](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/pixart_transformer_2d.py#L218) | |
| 활성화된 경우, 융합된 QKV 투영을 비활성화합니다. | |
| > [!WARNING] > 이 API는 🧪 실험적입니다. | |
Xet Storage Details
- Size:
- 8.72 kB
- Xet hash:
- 4c905b4910f906da1dcac68c17ab298db002e084d80f823ad774a918116f8311
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.