Closed2
diffusers (transformers) で CLIP skip を設定する
結論
補足:
SDv1
本来は 12 層あるが、CLIP skip 2 にしたければ 11 層のみを使うように設定する (num_hidden_layers=11
を指定する)
from transformers import CLIPTextModel
text_encoder = CLIPTextModel.from_pretrained(
"runwayml/stable-diffusion-v1-5",
subfolder="text_encoder",
num_hidden_layers=11, # CLIP skip 2
torch_dtype=torch.float16
)
SDv2
本来の CLIP は 24 層だが、最終層は破棄されてデフォルトで 23 層しかない (つまりデフォルトで CLIP skip 2。(意味があるかはわからないが、) CLIP skip 3以上にしたいなら num_hidden_layers=22
とかを指定する)
from transformers import CLIPTextModel
text_encoder = CLIPTextModel.from_pretrained(
"stabilityai/stable-diffusion-2-1",
subfolder="text_encoder",
num_hidden_layers=22, # CLIP skip 3
torch_dtype=torch.float16
)
このスクラップは2023/07/10にクローズされました