Skip to content

Commit

Permalink
Add CLIP skip spin box to Common Options tab.
Browse files Browse the repository at this point in the history
(partial fix for #16)
  • Loading branch information
shockz0rz committed Mar 3, 2023
1 parent d141fb1 commit ff5a007
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 0 deletions.
4 changes: 4 additions & 0 deletions backend/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ class GenerationOptions(BaseModel):
"""Model to use for generation."""
sd_vae: str = "Automatic"
"""VAE to use for generation."""

clip_skip: int = 1
"""CLIP layers to skip during generation."""

script: str = "None"
"""Which script to use."""
script_args: list = Field(default_factory=list)
Expand Down
3 changes: 3 additions & 0 deletions backend/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ def prepare_backend(opt: BaseModel):
shared.opts.sd_vae = opt.sd_vae
modules.sd_vae.reload_vae_weights()

if hasattr(opt, "clip_skip"):
shared.opts.CLIP_stop_at_last_layers = opt.clip_skip

if hasattr(opt, "upscaler_name"):
shared.opts.upscaler_for_img2img = opt.upscaler_name

Expand Down
1 change: 1 addition & 0 deletions frontends/krita/krita_diff/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ def common_params(self, has_selection):
params = dict(
sd_model=self.cfg("sd_model", str),
sd_vae=self.cfg("sd_vae", str),
clip_skip=self.cfg("clip_skip", int),
batch_count=self.cfg("sd_batch_count", int),
batch_size=self.cfg("sd_batch_size", int),
base_size=self.cfg("sd_base_size", int),
Expand Down
1 change: 1 addition & 0 deletions frontends/krita/krita_diff/defaults.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ class Defaults:
sd_model: str = "model.ckpt"
sd_vae_list: List[str] = field(default_factory=lambda: [ERROR_MSG])
sd_vae: str = "Automatic"
clip_skip: int = 1
sd_batch_size: int = 1
sd_batch_count: int = 1
sd_base_size: int = 512
Expand Down
8 changes: 8 additions & 0 deletions frontends/krita/krita_diff/pages/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ def __init__(self, *args, **kwargs):
script.cfg, "sd_vae_list", "sd_vae", label="VAE:"
)

# Clip skip
self.clip_skip_layout = QSpinBoxLayout(
script.cfg, "clip_skip", label="Clip skip:", min=1, max=12, step=1
)

# batch size & count
self.batch_count_layout = QSpinBoxLayout(
script.cfg, "sd_batch_count", label="Batch count:", min=1, max=9999, step=1
Expand Down Expand Up @@ -89,6 +94,7 @@ def __init__(self, *args, **kwargs):
layout.addLayout(checkboxes_layout)
layout.addLayout(self.sd_model_layout)
layout.addLayout(self.sd_vae_layout)
layout.addLayout(self.clip_skip_layout)
layout.addLayout(batch_layout)
layout.addLayout(size_layout)
layout.addWidget(self.interrupt_btn)
Expand All @@ -99,6 +105,7 @@ def __init__(self, *args, **kwargs):
def cfg_init(self):
self.sd_model_layout.cfg_init()
self.sd_vae_layout.cfg_init()
self.clip_skip_layout.cfg_init()
self.batch_count_layout.cfg_init()
self.batch_size_layout.cfg_init()
self.base_size_layout.cfg_init()
Expand All @@ -114,6 +121,7 @@ def cfg_init(self):
def cfg_connect(self):
self.sd_model_layout.cfg_connect()
self.sd_vae_layout.cfg_connect()
self.clip_skip_layout.cfg_connect()
self.batch_count_layout.cfg_connect()
self.batch_size_layout.cfg_connect()
self.base_size_layout.cfg_connect()
Expand Down

0 comments on commit ff5a007

Please sign in to comment.