diff options
author | EllangoK <ellangok@bxscience.edu> | 2023-01-19 00:13:15 +0000 |
---|---|---|
committer | EllangoK <ellangok@bxscience.edu> | 2023-01-19 00:13:15 +0000 |
commit | 99207bc816d027b522e1c49001748c63fd426b53 (patch) | |
tree | e994d2b5069fd0ce83db88b8e9aff39afecc4fc0 /modules | |
parent | bb0978ecfd3177d0bfd7cacd1ac8796d7eec2d79 (diff) | |
download | stable-diffusion-webui-gfx803-99207bc816d027b522e1c49001748c63fd426b53.tar.gz stable-diffusion-webui-gfx803-99207bc816d027b522e1c49001748c63fd426b53.tar.bz2 stable-diffusion-webui-gfx803-99207bc816d027b522e1c49001748c63fd426b53.zip |
check model name values are set before merging
Diffstat (limited to 'modules')
-rw-r--r-- | modules/extras.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/modules/extras.py b/modules/extras.py index 22668fcd..29eb1f07 100644 --- a/modules/extras.py +++ b/modules/extras.py @@ -287,10 +287,19 @@ def run_modelmerger(primary_model_name, secondary_model_name, tertiary_model_nam def add_difference(theta0, theta1_2_diff, alpha):
return theta0 + (alpha * theta1_2_diff)
+ if not primary_model_name:
+ shared.state.textinfo = "Failed: Merging requires a primary model."
+ shared.state.end()
+ return ["Failed: Merging requires a primary model."] + [gr.Dropdown.update(choices=sd_models.checkpoint_tiles()) for _ in range(4)]
+
primary_model_info = sd_models.checkpoints_list[primary_model_name]
+
+ if not secondary_model_name:
+ shared.state.textinfo = "Failed: Merging requires a secondary model."
+ shared.state.end()
+ return ["Failed: Merging requires a secondary model."] + [gr.Dropdown.update(choices=sd_models.checkpoint_tiles()) for _ in range(4)]
+
secondary_model_info = sd_models.checkpoints_list[secondary_model_name]
- tertiary_model_info = sd_models.checkpoints_list.get(tertiary_model_name, None)
- result_is_inpainting_model = False
theta_funcs = {
"Weighted sum": (None, weighted_sum),
@@ -298,10 +307,15 @@ def run_modelmerger(primary_model_name, secondary_model_name, tertiary_model_nam }
theta_func1, theta_func2 = theta_funcs[interp_method]
- if theta_func1 and not tertiary_model_info:
+ tertiary_model_info = None
+ if theta_func1 and not tertiary_model_name:
shared.state.textinfo = "Failed: Interpolation method requires a tertiary model."
shared.state.end()
- return ["Failed: Interpolation method requires a tertiary model."] + [gr.Dropdown.update(choices=sd_models.checkpoint_tiles()) for _ in range(4)]
+ return [f"Failed: Interpolation method ({interp_method}) requires a tertiary model."] + [gr.Dropdown.update(choices=sd_models.checkpoint_tiles()) for _ in range(4)]
+ else:
+ tertiary_model_info = sd_models.checkpoints_list.get(tertiary_model_name, None)
+
+ result_is_inpainting_model = False
shared.state.textinfo = f"Loading {secondary_model_info.filename}..."
print(f"Loading {secondary_model_info.filename}...")
|