diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-10 14:04:38 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-10 14:04:38 +0000 |
commit | 70a01cd4440d708bf25cc50393c0430935a8ebc2 (patch) | |
tree | daad07800a3dadfd3caeac1383c1c65ecfcb6284 /modules/shared_init.py | |
parent | 1aefb5025929818b2a96cbb6148fcc2db7b947ec (diff) | |
parent | 070b034cd5b49eb5056a18b43f88aa223fec9e0b (diff) | |
download | stable-diffusion-webui-gfx803-70a01cd4440d708bf25cc50393c0430935a8ebc2.tar.gz stable-diffusion-webui-gfx803-70a01cd4440d708bf25cc50393c0430935a8ebc2.tar.bz2 stable-diffusion-webui-gfx803-70a01cd4440d708bf25cc50393c0430935a8ebc2.zip |
Merge branch 'dev' into refiner
Diffstat (limited to 'modules/shared_init.py')
-rw-r--r-- | modules/shared_init.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/modules/shared_init.py b/modules/shared_init.py new file mode 100644 index 00000000..d3fb687e --- /dev/null +++ b/modules/shared_init.py @@ -0,0 +1,49 @@ +import os
+
+import torch
+
+from modules import shared
+from modules.shared import cmd_opts
+
+
+def initialize():
+ """Initializes fields inside the shared module in a controlled manner.
+
+ Should be called early because some other modules you can import mingt need these fields to be already set.
+ """
+
+ os.makedirs(cmd_opts.hypernetwork_dir, exist_ok=True)
+
+ from modules import options, shared_options
+ shared.options_templates = shared_options.options_templates
+ shared.opts = options.Options(shared_options.options_templates, shared_options.restricted_opts)
+ shared.restricted_opts = shared_options.restricted_opts
+ if os.path.exists(shared.config_filename):
+ shared.opts.load(shared.config_filename)
+
+ from modules import devices
+ devices.device, devices.device_interrogate, devices.device_gfpgan, devices.device_esrgan, devices.device_codeformer = \
+ (devices.cpu if any(y in cmd_opts.use_cpu for y in [x, 'all']) else devices.get_optimal_device() for x in ['sd', 'interrogate', 'gfpgan', 'esrgan', 'codeformer'])
+
+ devices.dtype = torch.float32 if cmd_opts.no_half else torch.float16
+ devices.dtype_vae = torch.float32 if cmd_opts.no_half or cmd_opts.no_half_vae else torch.float16
+
+ shared.device = devices.device
+ shared.weight_load_location = None if cmd_opts.lowram else "cpu"
+
+ from modules import shared_state
+ shared.state = shared_state.State()
+
+ from modules import styles
+ shared.prompt_styles = styles.StyleDatabase(shared.styles_filename)
+
+ from modules import interrogate
+ shared.interrogator = interrogate.InterrogateModels("interrogate")
+
+ from modules import shared_total_tqdm
+ shared.total_tqdm = shared_total_tqdm.TotalTQDM()
+
+ from modules import memmon, devices
+ shared.mem_mon = memmon.MemUsageMonitor("MemMon", devices.device, shared.opts)
+ shared.mem_mon.start()
+
|