# SD3Transformer2D

このクラスは、[SD3Transformer2DModel](/docs/diffusers/v0.43.0/ja/api/models/sd3_transformer2d#diffusers.SD3Transformer2DModel)に*のみ*重みをロードする場合に便利です。テキストエンコーダー、またはテキストエンコーダーとSD3Transformer2DModelの両方に重みをロードする必要がある場合は、代わりに[`SD3LoraLoaderMixin`](lora#diffusers.loaders.SD3LoraLoaderMixin)クラスを確認してください。

`SD3Transformer2DLoadersMixin` クラスは現在、IP-Adapter の重みの読み込みのみに対応していますが、将来的には重みの保存と LoRA の読み込みにも使用される予定です。

> [!TIP]
> LoRAの重みをロードする方法の詳細については、[LoRA](../../tutorials/using_peft_for_inference)のロードガイドを参照してください。

## SD3Transformer2DLoadersMixin[[diffusers.loaders.SD3Transformer2DLoadersMixin]]

#### diffusers.loaders.SD3Transformer2DLoadersMixin[[diffusers.loaders.SD3Transformer2DLoadersMixin]]

```python
diffusers.loaders.SD3Transformer2DLoadersMixin()
```

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/loaders/transformer_sd3.py#L27)

`[SD3Transformer2DModel]`にIP-AdapterとLoRAレイヤーを読み込みます。

#### _load_ip_adapter_weights[[diffusers.loaders.SD3Transformer2DLoadersMixin._load_ip_adapter_weights]]

```python
_load_ip_adapter_weights(state_dict: dict, low_cpu_mem_usage: bool = True)
```

[ソース](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/loaders/transformer_sd3.py#L145)

**パラメータ:**

state_dict (`Dict`) : キーに "ip_adapter"（attention processors のパラメータを含む）と "image_proj"（image projection net のパラメータを含む）を持つ state dict。

low_cpu_mem_usage (`bool`、*任意*、torch のバージョンが 1.9.0 以上ならデフォルトは `True`、それ未満なら `False`) : 重みの初期化を行わず、事前学習済み重みのみを読み込むことでモデルの読み込みを高速化します。また、モデルの読み込み時に CPU メモリ（ピークメモリを含む）をモデルサイズの 1 倍以下に抑えるよう試みます。PyTorch 1.9.0 以上でのみサポートされています。PyTorch の古いバージョンを使用している場合、この引数を `True` に設定するとエラーが発生します。

IP-Adapterのattentionプロセッサ、image projectionを設定し、state_dictを読み込みます。

