diff options
author | AUTOMATIC <16777216c@gmail.com> | 2023-05-19 09:09:00 +0300 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2023-05-19 09:09:18 +0300 |
commit | df6fffb054f8d3444baa887151a4874506a68be1 (patch) | |
tree | 6b2ab174215a1525a62d1fdd9fd46f7c61302e1d /modules | |
parent | 379fd6204dfc27e16acc03f705ecd9ff23c2d1c0 (diff) |
change upscalers to download models into user-specified directory (from commandline args) rather than the default models/<...>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/esrgan_model.py | 2 | ||||
-rw-r--r-- | modules/modelloader.py | 7 | ||||
-rw-r--r-- | modules/realesrgan_model.py | 2 | ||||
-rw-r--r-- | modules/upscaler.py | 1 |
4 files changed, 8 insertions, 4 deletions
diff --git a/modules/esrgan_model.py b/modules/esrgan_model.py index a009eb42..2fced999 100644 --- a/modules/esrgan_model.py +++ b/modules/esrgan_model.py @@ -154,7 +154,7 @@ class UpscalerESRGAN(Upscaler): if "http" in path:
filename = load_file_from_url(
url=self.model_url,
- model_dir=self.model_path,
+ model_dir=self.model_download_path,
file_name=f"{self.model_name}.pth",
progress=True,
)
diff --git a/modules/modelloader.py b/modules/modelloader.py index 2a479bcb..be23071a 100644 --- a/modules/modelloader.py +++ b/modules/modelloader.py @@ -47,7 +47,7 @@ def load_models(model_path: str, model_url: str = None, command_path: str = None if model_url is not None and len(output) == 0: if download_name is not None: from basicsr.utils.download_util import load_file_from_url - dl = load_file_from_url(model_url, model_path, True, download_name) + dl = load_file_from_url(model_url, places[0], True, download_name) output.append(dl) else: output.append(model_url) @@ -144,7 +144,10 @@ def load_upscalers(): for cls in reversed(used_classes.values()): name = cls.__name__ cmd_name = f"{name.lower().replace('upscaler', '')}_models_path" - scaler = cls(commandline_options.get(cmd_name, None)) + commandline_model_path = commandline_options.get(cmd_name, None) + scaler = cls(commandline_model_path) + scaler.user_path = commandline_model_path + scaler.model_download_path = commandline_model_path or scaler.model_path datas += scaler.scalers shared.sd_upscalers = sorted( diff --git a/modules/realesrgan_model.py b/modules/realesrgan_model.py index c24d8dbb..99983678 100644 --- a/modules/realesrgan_model.py +++ b/modules/realesrgan_model.py @@ -73,7 +73,7 @@ class UpscalerRealESRGAN(Upscaler): return None
if info.local_data_path.startswith("http"):
- info.local_data_path = load_file_from_url(url=info.data_path, model_dir=self.model_path, progress=True)
+ info.local_data_path = load_file_from_url(url=info.data_path, model_dir=self.model_download_path, progress=True)
return info
except Exception as e:
diff --git a/modules/upscaler.py b/modules/upscaler.py index 8acb6e96..7b1046d6 100644 --- a/modules/upscaler.py +++ b/modules/upscaler.py @@ -34,6 +34,7 @@ class Upscaler: self.half = not modules.shared.cmd_opts.no_half self.pre_pad = 0 self.mod_scale = None + self.model_download_path = None if self.model_path is None and self.name: self.model_path = os.path.join(shared.models_path, self.name) |