mirror of
https://github.com/Bing-su/adetailer.git
synced 2026-05-01 11:41:41 +00:00
Add separate VAE support (#308)
This commit is contained in:
@@ -61,6 +61,8 @@ class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
||||
ad_cfg_scale: NonNegativeFloat = 7.0
|
||||
ad_use_checkpoint: bool = False
|
||||
ad_checkpoint: Optional[str] = None
|
||||
ad_use_vae: bool = False
|
||||
ad_vae: Optional[str] = None
|
||||
ad_use_sampler: bool = False
|
||||
ad_sampler: str = "DPM++ 2M Karras"
|
||||
ad_use_noise_multiplier: bool = False
|
||||
@@ -142,6 +144,10 @@ class ADetailerArgs(BaseModel, extra=Extra.forbid):
|
||||
"ADetailer use separate checkpoint",
|
||||
["ADetailer use separate checkpoint", "ADetailer checkpoint"],
|
||||
)
|
||||
ppop(
|
||||
"ADetailer use separate VAE",
|
||||
["ADetailer use separate VAE", "ADetailer VAE"],
|
||||
)
|
||||
ppop(
|
||||
"ADetailer use separate sampler",
|
||||
["ADetailer use separate sampler", "ADetailer sampler"],
|
||||
@@ -216,6 +222,8 @@ _all_args = [
|
||||
("ad_cfg_scale", "ADetailer CFG scale"),
|
||||
("ad_use_checkpoint", "ADetailer use separate checkpoint"),
|
||||
("ad_checkpoint", "ADetailer checkpoint"),
|
||||
("ad_use_vae", "ADetailer use separate VAE"),
|
||||
("ad_vae", "ADetailer VAE"),
|
||||
("ad_use_sampler", "ADetailer use separate sampler"),
|
||||
("ad_sampler", "ADetailer sampler"),
|
||||
("ad_use_noise_multiplier", "ADetailer use separate noise multiplier"),
|
||||
|
||||
@@ -30,6 +30,7 @@ class WebuiInfo:
|
||||
t2i_button: gr.Button
|
||||
i2i_button: gr.Button
|
||||
checkpoints_list: Callable
|
||||
vae_list: Callable
|
||||
|
||||
|
||||
def gr_interactive(value: bool = True):
|
||||
@@ -441,27 +442,50 @@ def inpainting(w: Widgets, n: int, is_img2img: bool, webui_info: WebuiInfo):
|
||||
)
|
||||
|
||||
with gr.Column(variant="compact"):
|
||||
w.ad_use_sampler = gr.Checkbox(
|
||||
label="Use separate sampler" + suffix(n),
|
||||
w.ad_use_vae = gr.Checkbox(
|
||||
label="Use separate VAE (experimental)" + suffix(n),
|
||||
value=False,
|
||||
visible=True,
|
||||
elem_id=eid("ad_use_sampler"),
|
||||
elem_id=eid("ad_use_vae"),
|
||||
)
|
||||
|
||||
w.ad_sampler = gr.Dropdown(
|
||||
label="ADetailer sampler" + suffix(n),
|
||||
choices=webui_info.sampler_names,
|
||||
value=webui_info.sampler_names[0],
|
||||
vaes = ["Use same VAE"]
|
||||
try:
|
||||
vaes.extend(webui_info.vae_list())
|
||||
except Exception:
|
||||
vaes.extend([])
|
||||
|
||||
w.ad_vae = gr.Dropdown(
|
||||
label="ADetailer VAE" + suffix(n),
|
||||
choices=vaes,
|
||||
value=vaes[0],
|
||||
visible=True,
|
||||
elem_id=eid("ad_sampler"),
|
||||
elem_id=eid("ad_vae"),
|
||||
)
|
||||
|
||||
w.ad_use_sampler.change(
|
||||
gr_interactive,
|
||||
inputs=w.ad_use_sampler,
|
||||
outputs=w.ad_sampler,
|
||||
queue=False,
|
||||
)
|
||||
|
||||
with gr.Row(), gr.Column(variant="compact"):
|
||||
w.ad_use_sampler = gr.Checkbox(
|
||||
label="Use separate sampler" + suffix(n),
|
||||
value=False,
|
||||
visible=True,
|
||||
elem_id=eid("ad_use_sampler"),
|
||||
)
|
||||
|
||||
w.ad_sampler = gr.Dropdown(
|
||||
label="ADetailer sampler" + suffix(n),
|
||||
choices=webui_info.sampler_names,
|
||||
value=webui_info.sampler_names[0],
|
||||
visible=True,
|
||||
elem_id=eid("ad_sampler"),
|
||||
)
|
||||
|
||||
w.ad_use_sampler.change(
|
||||
gr_interactive,
|
||||
inputs=w.ad_use_sampler,
|
||||
outputs=w.ad_sampler,
|
||||
queue=False,
|
||||
)
|
||||
|
||||
with gr.Row():
|
||||
with gr.Column(variant="compact"):
|
||||
|
||||
Reference in New Issue
Block a user