| 
									
										
										
										
											2022-08-27 21:32:28 +03:00
										 |  |  | import os | 
					
						
							| 
									
										
										
										
											2023-01-03 18:38:21 +03:00
										 |  |  | import sys | 
					
						
							| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  | import threading | 
					
						
							| 
									
										
										
										
											2022-10-01 21:47:42 +01:00
										 |  |  | import time | 
					
						
							| 
									
										
										
										
											2022-10-01 22:50:03 +01:00
										 |  |  | import importlib | 
					
						
							| 
									
										
										
										
											2022-08-31 11:04:19 +03:00
										 |  |  | import signal | 
					
						
							| 
									
										
										
										
											2023-01-03 20:43:05 -05:00
										 |  |  | import re | 
					
						
							| 
									
										
										
										
											2022-10-18 06:51:53 +00:00
										 |  |  | from fastapi import FastAPI | 
					
						
							| 
									
										
										
										
											2022-11-05 02:36:47 +08:00
										 |  |  | from fastapi.middleware.cors import CORSMiddleware | 
					
						
							| 
									
										
										
										
											2022-10-07 22:56:00 +01:00
										 |  |  | from fastapi.middleware.gzip import GZipMiddleware | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-21 08:36:07 +03:00
										 |  |  | from modules import import_hook, errors, extra_networks | 
					
						
							|  |  |  | from modules import extra_networks_hypernet, ui_extra_networks_hypernets, ui_extra_networks_textual_inversion | 
					
						
							| 
									
										
										
										
											2022-11-28 09:00:10 +03:00
										 |  |  | from modules.call_queue import wrap_queued_call, queue_lock, wrap_gradio_gpu_call | 
					
						
							| 
									
										
										
										
											2022-10-06 13:21:32 +03:00
										 |  |  | from modules.paths import script_path | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-03 20:43:05 -05:00
										 |  |  | import torch | 
					
						
							| 
									
										
										
										
											2023-01-21 08:36:07 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-03 20:43:05 -05:00
										 |  |  | # Truncate version number of nightly/local build of PyTorch to not cause exceptions with CodeFormer or Safetensors | 
					
						
							|  |  |  | if ".dev" in torch.__version__ or "+git" in torch.__version__: | 
					
						
							| 
									
										
										
										
											2023-01-06 07:06:26 -05:00
										 |  |  |     torch.__version__ = re.search(r'[\d.]+[\d]', torch.__version__).group(0) | 
					
						
							| 
									
										
										
										
											2023-01-03 20:43:05 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-21 08:36:07 +03:00
										 |  |  | from modules import shared, devices, sd_samplers, upscaler, extensions, localization, ui_tempdir, ui_extra_networks | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | import modules.codeformer_model as codeformer | 
					
						
							| 
									
										
										
										
											2022-09-11 18:48:36 +03:00
										 |  |  | import modules.extras | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | import modules.face_restoration | 
					
						
							|  |  |  | import modules.gfpgan_model as gfpgan | 
					
						
							| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  | import modules.img2img | 
					
						
							| 
									
										
										
										
											2022-10-02 07:56:22 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | import modules.lowvram | 
					
						
							| 
									
										
										
										
											2022-09-30 15:26:18 -05:00
										 |  |  | import modules.paths | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | import modules.scripts | 
					
						
							|  |  |  | import modules.sd_hijack | 
					
						
							| 
									
										
										
										
											2022-09-17 12:05:04 +03:00
										 |  |  | import modules.sd_models | 
					
						
							| 
									
										
										
										
											2022-10-30 21:54:31 +07:00
										 |  |  | import modules.sd_vae | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | import modules.txt2img | 
					
						
							| 
									
										
										
										
											2022-10-30 22:46:43 +08:00
										 |  |  | import modules.script_callbacks | 
					
						
							| 
									
										
										
										
											2023-01-09 23:35:40 +03:00
										 |  |  | import modules.textual_inversion.textual_inversion | 
					
						
							| 
									
										
										
										
											2023-01-15 18:50:56 +03:00
										 |  |  | import modules.progress | 
					
						
							| 
									
										
										
										
											2022-10-02 07:56:22 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | import modules.ui | 
					
						
							| 
									
										
										
										
											2022-09-26 10:27:18 -05:00
										 |  |  | from modules import modelloader | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | from modules.shared import cmd_opts | 
					
						
							| 
									
										
										
										
											2022-10-11 15:51:22 +03:00
										 |  |  | import modules.hypernetworks.hypernetwork | 
					
						
							| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-27 11:52:53 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-14 14:07:13 -06:00
										 |  |  | if cmd_opts.server_name: | 
					
						
							|  |  |  |     server_name = cmd_opts.server_name | 
					
						
							|  |  |  | else: | 
					
						
							|  |  |  |     server_name = "0.0.0.0" if cmd_opts.listen else None | 
					
						
							| 
									
										
										
										
											2022-09-08 12:17:26 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-27 11:52:53 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-12 09:00:39 +03:00
										 |  |  | def initialize(): | 
					
						
							| 
									
										
										
										
											2022-10-31 17:36:45 +03:00
										 |  |  |     extensions.list_extensions() | 
					
						
							| 
									
										
										
										
											2022-11-06 09:02:25 +03:00
										 |  |  |     localization.list_localizations(cmd_opts.localizations_dir) | 
					
						
							| 
									
										
										
										
											2022-10-31 17:36:45 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-20 23:58:52 +08:00
										 |  |  |     if cmd_opts.ui_debug_mode: | 
					
						
							| 
									
										
										
										
											2022-10-24 09:39:46 +03:00
										 |  |  |         shared.sd_upscalers = upscaler.UpscalerLanczos().scalers | 
					
						
							|  |  |  |         modules.scripts.load_scripts() | 
					
						
							| 
									
										
										
										
											2022-10-20 23:58:52 +08:00
										 |  |  |         return | 
					
						
							| 
									
										
										
										
											2022-10-24 09:39:46 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-12 09:00:39 +03:00
										 |  |  |     modelloader.cleanup_models() | 
					
						
							|  |  |  |     modules.sd_models.setup_model() | 
					
						
							|  |  |  |     codeformer.setup_model(cmd_opts.codeformer_models_path) | 
					
						
							|  |  |  |     gfpgan.setup_model(cmd_opts.gfpgan_models_path) | 
					
						
							|  |  |  |     shared.face_restorers.append(modules.face_restoration.FaceRestoration()) | 
					
						
							| 
									
										
										
										
											2022-08-25 21:52:05 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-03 18:38:21 +03:00
										 |  |  |     modelloader.list_builtin_upscalers() | 
					
						
							| 
									
										
										
										
											2022-10-24 09:39:46 +03:00
										 |  |  |     modules.scripts.load_scripts() | 
					
						
							| 
									
										
										
										
											2022-12-03 18:06:33 +03:00
										 |  |  |     modelloader.load_upscalers() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-30 21:54:31 +07:00
										 |  |  |     modules.sd_vae.refresh_vae_list() | 
					
						
							| 
									
										
										
										
											2023-01-04 12:35:07 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-09 23:35:40 +03:00
										 |  |  |     modules.textual_inversion.textual_inversion.list_textual_inversion_templates() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-04 12:35:07 +03:00
										 |  |  |     try: | 
					
						
							|  |  |  |         modules.sd_models.load_model() | 
					
						
							|  |  |  |     except Exception as e: | 
					
						
							|  |  |  |         errors.display(e, "loading stable diffusion model") | 
					
						
							|  |  |  |         print("", file=sys.stderr) | 
					
						
							|  |  |  |         print("Stable diffusion model failed to load, exiting", file=sys.stderr) | 
					
						
							|  |  |  |         exit(1) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-14 09:56:59 +03:00
										 |  |  |     shared.opts.data["sd_model_checkpoint"] = shared.sd_model.sd_checkpoint_info.title | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-01 04:01:49 -03:00
										 |  |  |     shared.opts.onchange("sd_model_checkpoint", wrap_queued_call(lambda: modules.sd_models.reload_model_weights())) | 
					
						
							| 
									
										
										
										
											2022-11-02 12:51:46 +07:00
										 |  |  |     shared.opts.onchange("sd_vae", wrap_queued_call(lambda: modules.sd_vae.reload_vae_weights()), call=False) | 
					
						
							| 
									
										
										
										
											2022-11-03 13:47:03 +07:00
										 |  |  |     shared.opts.onchange("sd_vae_as_default", wrap_queued_call(lambda: modules.sd_vae.reload_vae_weights()), call=False) | 
					
						
							| 
									
										
										
										
											2022-11-27 11:52:53 +03:00
										 |  |  |     shared.opts.onchange("temp_dir", ui_tempdir.on_tmpdir_changed) | 
					
						
							| 
									
										
										
										
											2022-10-19 14:30:33 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-21 08:36:07 +03:00
										 |  |  |     shared.reload_hypernetworks() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ui_extra_networks.intialize() | 
					
						
							|  |  |  |     ui_extra_networks.register_page(ui_extra_networks_textual_inversion.ExtraNetworksPageTextualInversion()) | 
					
						
							|  |  |  |     ui_extra_networks.register_page(ui_extra_networks_hypernets.ExtraNetworksPageHypernetworks()) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     extra_networks.initialize() | 
					
						
							|  |  |  |     extra_networks.register_extra_network(extra_networks_hypernet.ExtraNetworkHypernet()) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-05 04:06:51 -05:00
										 |  |  |     if cmd_opts.tls_keyfile is not None and cmd_opts.tls_keyfile is not None: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         try: | 
					
						
							|  |  |  |             if not os.path.exists(cmd_opts.tls_keyfile): | 
					
						
							|  |  |  |                 print("Invalid path to TLS keyfile given") | 
					
						
							|  |  |  |             if not os.path.exists(cmd_opts.tls_certfile): | 
					
						
							|  |  |  |                 print(f"Invalid path to TLS certfile: '{cmd_opts.tls_certfile}'") | 
					
						
							|  |  |  |         except TypeError: | 
					
						
							|  |  |  |             cmd_opts.tls_keyfile = cmd_opts.tls_certfile = None | 
					
						
							|  |  |  |             print("TLS setup invalid, running webui without TLS") | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             print("Running with TLS") | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-06 08:54:11 +03:00
										 |  |  |     # make the program just exit at ctrl+c without waiting for anything | 
					
						
							|  |  |  |     def sigint_handler(sig, frame): | 
					
						
							| 
									
										
										
										
											2022-09-06 19:33:51 +03:00
										 |  |  |         print(f'Interrupted with signal {sig} in {frame}') | 
					
						
							| 
									
										
										
										
											2022-09-06 08:54:11 +03:00
										 |  |  |         os._exit(0) | 
					
						
							| 
									
										
										
										
											2022-08-22 17:15:46 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-06 08:54:11 +03:00
										 |  |  |     signal.signal(signal.SIGINT, sigint_handler) | 
					
						
							| 
									
										
										
										
											2022-08-31 22:19:30 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-02 19:26:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-05 02:36:47 +08:00
										 |  |  | def setup_cors(app): | 
					
						
							| 
									
										
										
										
											2022-11-07 00:13:58 -08:00
										 |  |  |     if cmd_opts.cors_allow_origins and cmd_opts.cors_allow_origins_regex: | 
					
						
							| 
									
										
										
										
											2022-12-15 21:57:48 +03:00
										 |  |  |         app.add_middleware(CORSMiddleware, allow_origins=cmd_opts.cors_allow_origins.split(','), allow_origin_regex=cmd_opts.cors_allow_origins_regex, allow_methods=['*'], allow_credentials=True, allow_headers=['*']) | 
					
						
							| 
									
										
										
										
											2022-11-07 00:13:58 -08:00
										 |  |  |     elif cmd_opts.cors_allow_origins: | 
					
						
							| 
									
										
										
										
											2022-12-15 21:57:48 +03:00
										 |  |  |         app.add_middleware(CORSMiddleware, allow_origins=cmd_opts.cors_allow_origins.split(','), allow_methods=['*'], allow_credentials=True, allow_headers=['*']) | 
					
						
							| 
									
										
										
										
											2022-11-07 00:13:58 -08:00
										 |  |  |     elif cmd_opts.cors_allow_origins_regex: | 
					
						
							| 
									
										
										
										
											2022-12-15 21:57:48 +03:00
										 |  |  |         app.add_middleware(CORSMiddleware, allow_origin_regex=cmd_opts.cors_allow_origins_regex, allow_methods=['*'], allow_credentials=True, allow_headers=['*']) | 
					
						
							| 
									
										
										
										
											2022-11-05 02:36:47 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  | def create_api(app): | 
					
						
							| 
									
										
										
										
											2022-10-17 11:38:32 +03:00
										 |  |  |     from modules.api.api import Api | 
					
						
							| 
									
										
										
										
											2022-10-18 06:51:53 +00:00
										 |  |  |     api = Api(app, queue_lock) | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  |     return api | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-31 17:36:45 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  | def wait_on_server(demo=None): | 
					
						
							| 
									
										
										
										
											2022-10-01 18:31:58 +01:00
										 |  |  |     while 1: | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  |         time.sleep(0.5) | 
					
						
							| 
									
										
										
										
											2022-10-31 17:36:45 +03:00
										 |  |  |         if shared.state.need_restart: | 
					
						
							|  |  |  |             shared.state.need_restart = False | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  |             time.sleep(0.5) | 
					
						
							|  |  |  |             demo.close() | 
					
						
							|  |  |  |             time.sleep(0.5) | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-31 17:36:45 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  | def api_only(): | 
					
						
							|  |  |  |     initialize() | 
					
						
							| 
									
										
										
										
											2022-10-01 18:31:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  |     app = FastAPI() | 
					
						
							| 
									
										
										
										
											2022-11-05 02:36:47 +08:00
										 |  |  |     setup_cors(app) | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  |     app.add_middleware(GZipMiddleware, minimum_size=1000) | 
					
						
							|  |  |  |     api = create_api(app) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-02 15:04:35 +08:00
										 |  |  |     modules.script_callbacks.app_started_callback(None, app) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  |     api.launch(server_name="0.0.0.0" if cmd_opts.listen else "127.0.0.1", port=cmd_opts.port if cmd_opts.port else 7861) | 
					
						
							| 
									
										
										
										
											2022-10-06 12:08:48 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-17 06:58:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-20 11:32:17 -04:00
										 |  |  | def webui(): | 
					
						
							|  |  |  |     launch_api = cmd_opts.api | 
					
						
							| 
									
										
										
										
											2022-10-17 11:38:32 +03:00
										 |  |  |     initialize() | 
					
						
							| 
									
										
										
										
											2022-10-17 06:58:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-17 11:38:32 +03:00
										 |  |  |     while 1: | 
					
						
							| 
									
										
										
										
											2022-11-27 11:52:53 +03:00
										 |  |  |         if shared.opts.clean_temp_dir_at_start: | 
					
						
							|  |  |  |             ui_tempdir.cleanup_tmpdr() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-21 16:15:53 +03:00
										 |  |  |         modules.script_callbacks.before_ui_callback() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-28 09:00:10 +03:00
										 |  |  |         shared.demo = modules.ui.create_ui() | 
					
						
							| 
									
										
										
										
											2022-10-19 00:51:36 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-21 18:47:54 +03:00
										 |  |  |         if cmd_opts.gradio_queue: | 
					
						
							|  |  |  |             shared.demo.queue(64) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-14 13:38:10 +03:00
										 |  |  |         app, local_url, share_url = shared.demo.launch( | 
					
						
							| 
									
										
										
										
											2022-10-02 19:26:38 +01:00
										 |  |  |             share=cmd_opts.share, | 
					
						
							| 
									
										
										
										
											2022-11-05 04:06:51 -05:00
										 |  |  |             server_name=server_name, | 
					
						
							| 
									
										
										
										
											2022-10-02 19:26:38 +01:00
										 |  |  |             server_port=cmd_opts.port, | 
					
						
							| 
									
										
										
										
											2022-11-05 04:06:51 -05:00
										 |  |  |             ssl_keyfile=cmd_opts.tls_keyfile, | 
					
						
							|  |  |  |             ssl_certfile=cmd_opts.tls_certfile, | 
					
						
							| 
									
										
										
										
											2022-10-02 19:26:38 +01:00
										 |  |  |             debug=cmd_opts.gradio_debug, | 
					
						
							|  |  |  |             auth=[tuple(cred.split(':')) for cred in cmd_opts.gradio_auth.strip('"').split(',')] if cmd_opts.gradio_auth else None, | 
					
						
							|  |  |  |             inbrowser=cmd_opts.autolaunch, | 
					
						
							|  |  |  |             prevent_thread_lock=True | 
					
						
							|  |  |  |         ) | 
					
						
							| 
									
										
										
										
											2022-10-23 16:46:54 +09:00
										 |  |  |         # after initial launch, disable --autolaunch for subsequent restarts | 
					
						
							|  |  |  |         cmd_opts.autolaunch = False | 
					
						
							| 
									
										
										
										
											2022-10-17 11:38:32 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-04 10:07:29 +03:00
										 |  |  |         # gradio uses a very open CORS policy via app.user_middleware, which makes it possible for | 
					
						
							|  |  |  |         # an attacker to trick the user into opening a malicious HTML page, which makes a request to the | 
					
						
							| 
									
										
										
										
											2022-12-14 21:01:32 -05:00
										 |  |  |         # running web ui and do whatever the attacker wants, including installing an extension and | 
					
						
							|  |  |  |         # running its code. We disable this here. Suggested by RyotaK. | 
					
						
							| 
									
										
										
										
											2022-11-04 10:07:29 +03:00
										 |  |  |         app.user_middleware = [x for x in app.user_middleware if x.cls.__name__ != 'CORSMiddleware'] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-05 02:36:47 +08:00
										 |  |  |         setup_cors(app) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-11 14:53:02 +03:00
										 |  |  |         app.add_middleware(GZipMiddleware, minimum_size=1000) | 
					
						
							| 
									
										
										
										
											2022-10-02 19:26:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-15 18:50:56 +03:00
										 |  |  |         modules.progress.setup_progress_api(app) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-31 17:36:45 +03:00
										 |  |  |         if launch_api: | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  |             create_api(app) | 
					
						
							| 
									
										
										
										
											2022-10-02 19:26:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-27 11:52:53 +03:00
										 |  |  |         modules.script_callbacks.app_started_callback(shared.demo, app) | 
					
						
							| 
									
										
										
										
											2022-10-30 22:46:43 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-27 11:52:53 +03:00
										 |  |  |         wait_on_server(shared.demo) | 
					
						
							| 
									
										
										
										
											2023-01-03 18:38:21 +03:00
										 |  |  |         print('Restarting UI...') | 
					
						
							| 
									
										
										
										
											2022-10-19 14:30:33 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-06 12:08:48 +03:00
										 |  |  |         sd_samplers.set_samplers() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-06 13:55:50 +03:00
										 |  |  |         modules.script_callbacks.script_unloaded_callback() | 
					
						
							| 
									
										
										
										
											2022-10-31 17:36:45 +03:00
										 |  |  |         extensions.list_extensions() | 
					
						
							| 
									
										
										
										
											2022-11-06 09:02:25 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |         localization.list_localizations(cmd_opts.localizations_dir) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-03 18:38:21 +03:00
										 |  |  |         modelloader.forbid_loaded_nonbuiltin_upscalers() | 
					
						
							| 
									
										
										
										
											2022-10-22 12:23:45 +03:00
										 |  |  |         modules.scripts.reload_scripts() | 
					
						
							| 
									
										
										
										
											2023-01-06 13:55:50 +03:00
										 |  |  |         modules.script_callbacks.model_loaded_callback(shared.sd_model) | 
					
						
							| 
									
										
										
										
											2022-12-03 18:06:33 +03:00
										 |  |  |         modelloader.load_upscalers() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-03 18:38:21 +03:00
										 |  |  |         for module in [module for name, module in sys.modules.items() if name.startswith("modules.ui")]: | 
					
						
							|  |  |  |             importlib.reload(module) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-11 08:03:31 -05:00
										 |  |  |         modules.sd_models.list_models() | 
					
						
							| 
									
										
										
										
											2022-09-08 12:17:26 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-21 08:36:07 +03:00
										 |  |  |         shared.reload_hypernetworks() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         ui_extra_networks.intialize() | 
					
						
							|  |  |  |         ui_extra_networks.register_page(ui_extra_networks_textual_inversion.ExtraNetworksPageTextualInversion()) | 
					
						
							|  |  |  |         ui_extra_networks.register_page(ui_extra_networks_hypernets.ExtraNetworksPageHypernetworks()) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         extra_networks.initialize() | 
					
						
							|  |  |  |         extra_networks.register_extra_network(extra_networks_hypernet.ExtraNetworkHypernet()) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-11 18:48:36 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-08 12:17:26 +03:00
										 |  |  | if __name__ == "__main__": | 
					
						
							| 
									
										
										
										
											2022-10-18 06:51:53 +00:00
										 |  |  |     if cmd_opts.nowebui: | 
					
						
							| 
									
										
										
										
											2022-10-17 12:58:34 -04:00
										 |  |  |         api_only() | 
					
						
							| 
									
										
										
										
											2022-10-17 11:38:32 +03:00
										 |  |  |     else: | 
					
						
							| 
									
										
										
										
											2022-10-20 11:32:17 -04:00
										 |  |  |         webui() |