mirror of https://github.com/Bing-su/adetailer.git
fix: hard english
parent
ba039cbbae
commit
479f5f4a2e
10
aaaaaa/ui.py
10
aaaaaa/ui.py
|
|
@ -105,9 +105,9 @@ def on_cn_model_update(cn_model_name: str):
|
||||||
|
|
||||||
|
|
||||||
def elem_id(item_id: str, n: int, is_img2img: bool) -> str:
|
def elem_id(item_id: str, n: int, is_img2img: bool) -> str:
|
||||||
tap = "img2img" if is_img2img else "txt2img"
|
tab = "img2img" if is_img2img else "txt2img"
|
||||||
suf = suffix(n, "_")
|
suf = suffix(n, "_")
|
||||||
return f"script_{tap}_adetailer_{item_id}{suf}"
|
return f"script_{tab}_adetailer_{item_id}{suf}"
|
||||||
|
|
||||||
|
|
||||||
def state_init(w: Widgets) -> dict[str, Any]:
|
def state_init(w: Widgets) -> dict[str, Any]:
|
||||||
|
|
@ -179,11 +179,11 @@ def one_ui_group(n: int, is_img2img: bool, webui_info: WebuiInfo):
|
||||||
|
|
||||||
with gr.Group():
|
with gr.Group():
|
||||||
with gr.Row(variant="compact"):
|
with gr.Row(variant="compact"):
|
||||||
w.ad_tap_enable = gr.Checkbox(
|
w.ad_tab_enable = gr.Checkbox(
|
||||||
label=f"Enable this tap ({ordinal(n + 1)})",
|
label=f"Enable this tab ({ordinal(n + 1)})",
|
||||||
value=True,
|
value=True,
|
||||||
visible=True,
|
visible=True,
|
||||||
elem_id=eid("ad_tap_enable"),
|
elem_id=eid("ad_tab_enable"),
|
||||||
)
|
)
|
||||||
|
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ class ArgsList(UserList):
|
||||||
class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
||||||
ad_model: str = "None"
|
ad_model: str = "None"
|
||||||
ad_model_classes: str = ""
|
ad_model_classes: str = ""
|
||||||
ad_tap_enable: bool = True
|
ad_tab_enable: bool = True
|
||||||
ad_prompt: str = ""
|
ad_prompt: str = ""
|
||||||
ad_negative_prompt: str = ""
|
ad_negative_prompt: str = ""
|
||||||
ad_confidence: confloat(ge=0.0, le=1.0) = 0.3
|
ad_confidence: confloat(ge=0.0, le=1.0) = 0.3
|
||||||
|
|
@ -129,7 +129,7 @@ class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
||||||
ppop("ADetailer model classes")
|
ppop("ADetailer model classes")
|
||||||
ppop("ADetailer prompt")
|
ppop("ADetailer prompt")
|
||||||
ppop("ADetailer negative prompt")
|
ppop("ADetailer negative prompt")
|
||||||
p.pop("ADetailer tap enable", None) # always pop
|
p.pop("ADetailer tab enable", None) # always pop
|
||||||
ppop("ADetailer mask only top k largest", cond=0)
|
ppop("ADetailer mask only top k largest", cond=0)
|
||||||
ppop("ADetailer mask min ratio", cond=0.0)
|
ppop("ADetailer mask min ratio", cond=0.0)
|
||||||
ppop("ADetailer mask max ratio", cond=1.0)
|
ppop("ADetailer mask max ratio", cond=1.0)
|
||||||
|
|
@ -206,13 +206,13 @@ class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
||||||
return self.ad_model.lower().startswith("mediapipe")
|
return self.ad_model.lower().startswith("mediapipe")
|
||||||
|
|
||||||
def need_skip(self) -> bool:
|
def need_skip(self) -> bool:
|
||||||
return self.ad_model == "None" or self.ad_tap_enable is False
|
return self.ad_model == "None" or self.ad_tab_enable is False
|
||||||
|
|
||||||
|
|
||||||
_all_args = [
|
_all_args = [
|
||||||
("ad_model", "ADetailer model"),
|
("ad_model", "ADetailer model"),
|
||||||
("ad_model_classes", "ADetailer model classes"),
|
("ad_model_classes", "ADetailer model classes"),
|
||||||
("ad_tap_enable", "ADetailer tap enable"),
|
("ad_tab_enable", "ADetailer tab enable"),
|
||||||
("ad_prompt", "ADetailer prompt"),
|
("ad_prompt", "ADetailer prompt"),
|
||||||
("ad_negative_prompt", "ADetailer negative prompt"),
|
("ad_negative_prompt", "ADetailer negative prompt"),
|
||||||
("ad_confidence", "ADetailer confidence"),
|
("ad_confidence", "ADetailer confidence"),
|
||||||
|
|
|
||||||
|
|
@ -644,8 +644,8 @@ class AfterDetailerScript(scripts.Script):
|
||||||
return pp.image
|
return pp.image
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_each_tap_seed(seed: int, i: int):
|
def get_each_tab_seed(seed: int, i: int):
|
||||||
use_same_seed = shared.opts.data.get("ad_same_seed_for_each_tap", False)
|
use_same_seed = shared.opts.data.get("ad_same_seed_for_each_tab", False)
|
||||||
return seed if use_same_seed else seed + i
|
return seed if use_same_seed else seed + i
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
@ -773,8 +773,8 @@ class AfterDetailerScript(scripts.Script):
|
||||||
if re.match(r"^\s*\[SKIP\]\s*$", p2.prompt):
|
if re.match(r"^\s*\[SKIP\]\s*$", p2.prompt):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
p2.seed = self.get_each_tap_seed(seed, j)
|
p2.seed = self.get_each_tab_seed(seed, j)
|
||||||
p2.subseed = self.get_each_tap_seed(subseed, j)
|
p2.subseed = self.get_each_tab_seed(subseed, j)
|
||||||
|
|
||||||
p2.cached_c = [None, None]
|
p2.cached_c = [None, None]
|
||||||
p2.cached_uc = [None, None]
|
p2.cached_uc = [None, None]
|
||||||
|
|
@ -854,7 +854,7 @@ def on_ui_settings():
|
||||||
"ad_max_models",
|
"ad_max_models",
|
||||||
shared.OptionInfo(
|
shared.OptionInfo(
|
||||||
default=4,
|
default=4,
|
||||||
label="Max taps",
|
label="Max tabs",
|
||||||
component=gr.Slider,
|
component=gr.Slider,
|
||||||
component_args={"minimum": 1, "maximum": 15, "step": 1},
|
component_args={"minimum": 1, "maximum": 15, "step": 1},
|
||||||
section=section,
|
section=section,
|
||||||
|
|
@ -918,7 +918,7 @@ def on_ui_settings():
|
||||||
)
|
)
|
||||||
|
|
||||||
shared.opts.add_option(
|
shared.opts.add_option(
|
||||||
"ad_same_seed_for_each_tap",
|
"ad_same_seed_for_each_tab",
|
||||||
shared.OptionInfo(
|
shared.OptionInfo(
|
||||||
False, "Use same seed for each tab in adetailer", section=section
|
False, "Use same seed for each tab in adetailer", section=section
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ def test_need_skip(ad_model: str, expect: bool) -> None:
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("ad_model", "ad_tap_enable", "expect"),
|
("ad_model", "ad_tab_enable", "expect"),
|
||||||
[
|
[
|
||||||
("face_yolov8n.pt", False, True),
|
("face_yolov8n.pt", False, True),
|
||||||
("mediapipe_face_full", False, True),
|
("mediapipe_face_full", False, True),
|
||||||
|
|
@ -43,6 +43,6 @@ def test_need_skip(ad_model: str, expect: bool) -> None:
|
||||||
("ace_yolov8s.pt", True, False),
|
("ace_yolov8s.pt", True, False),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_need_skip_tap_enable(ad_model: str, ad_tap_enable: bool, expect: bool) -> None:
|
def test_need_skip_tab_enable(ad_model: str, ad_tab_enable: bool, expect: bool) -> None:
|
||||||
args = ADetailerArgs(ad_model=ad_model, ad_tap_enable=ad_tap_enable)
|
args = ADetailerArgs(ad_model=ad_model, ad_tab_enable=ad_tab_enable)
|
||||||
assert args.need_skip() is expect
|
assert args.need_skip() is expect
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue