| ## plusかどうか | |
| `state_dict["image_proj"]["lantents"]`の存在で判断 | |
| ## テキストエンコーダの隠れ状態次元数: | |
| keyの入力次元で判断 | |
| `cross_attention_dim = state_dict["ip_adapter"]["1.to_k_ip.weight"].shape[1]` | |
| ## SDXLかどうか | |
| `sdxl = self.cross_attention_dim == 2048` | |
| ## IP-Adapterのトークン数 | |
| plusでない場合image_projの出力次元からcross_attention_dimを割る | |
| `clip_extra_context_tokens = state_dict["image_proj"]["proj.weight"].shape[0] // cross_attention_dim` | |
| plusの場合latentsのトークン数で判断 | |
| `self.clip_extra_context_tokens = ip_state_dict["image_proj"]["latents"].shape[1]` | |
| ## CLIP特徴量の次元数 | |
| 実際の出力で判断 | |
| `clip_embeddings_dim = cond.shape[-1]` | |
| ## 残り | |
| plusの場合のresamplerの設定は保留・・・ | |
| ``` | |
| depth=4 | |
| dim_head=64 | |
| heads=12 | |
| ff_mult=4 | |
| ``` | |