-
Notifications
You must be signed in to change notification settings - Fork 170
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
UI/app structure and utility implementation.
- Initializers for webui/API launch - Schedulers file for SD scheduling utilities - Additions to API-level utilities - Added embeddings module for LoRA, Lycoris, yada yada - Added image_processing module for resamplers, resize tools, transforms, and any image annotation (PNG metadata) - shared_cmd_opts module -- sorry, this is stable_args.py. It lives on. We still want to have some global control over the app exclusively from the command-line. At least we will be free from shark_args. - Moving around some utility pieces. - Try to make api+webui concurrency possible in index.py - SD UI -- this is just img2imgUI but hopefully a little better. - UI utilities for your nod logos and your gradio temps.
- Loading branch information
Showing
12 changed files
with
2,109 additions
and
147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
import importlib | ||
import logging | ||
import os | ||
import signal | ||
import sys | ||
import re | ||
import warnings | ||
import json | ||
from threading import Thread | ||
|
||
from apps.shark_studio.modules.timer import startup_timer | ||
|
||
|
||
def imports(): | ||
import torch # noqa: F401 | ||
startup_timer.record("import torch") | ||
warnings.filterwarnings(action="ignore", category=DeprecationWarning, module="torch") | ||
warnings.filterwarnings(action="ignore", category=UserWarning, module="torchvision") | ||
|
||
import gradio # noqa: F401 | ||
startup_timer.record("import gradio") | ||
|
||
#from apps.shark_studio.modules import shared_init | ||
#shared_init.initialize() | ||
#startup_timer.record("initialize shared") | ||
|
||
from apps.shark_studio.modules import processing, gradio_extensons, ui # noqa: F401 | ||
startup_timer.record("other imports") | ||
|
||
def initialize(): | ||
configure_sigint_handler() | ||
configure_opts_onchange() | ||
|
||
#from apps.shark_studio.modules import modelloader | ||
#modelloader.cleanup_models() | ||
|
||
#from apps.shark_studio.modules import sd_models | ||
#sd_models.setup_model() | ||
#startup_timer.record("setup SD model") | ||
|
||
#initialize_rest(reload_script_modules=False) | ||
|
||
def initialize_rest(*, reload_script_modules=False): | ||
""" | ||
Called both from initialize() and when reloading the webui. | ||
""" | ||
# Keep this for adding reload options to the webUI. | ||
|
||
def dumpstacks(): | ||
import threading | ||
import traceback | ||
|
||
id2name = {th.ident: th.name for th in threading.enumerate()} | ||
code = [] | ||
for threadId, stack in sys._current_frames().items(): | ||
code.append(f"\n# Thread: {id2name.get(threadId, '')}({threadId})") | ||
for filename, lineno, name, line in traceback.extract_stack(stack): | ||
code.append(f"""File: "{filename}", line {lineno}, in {name}""") | ||
if line: | ||
code.append(" " + line.strip()) | ||
|
||
print("\n".join(code)) | ||
|
||
|
||
def configure_sigint_handler(): | ||
# make the program just exit at ctrl+c without waiting for anything | ||
def sigint_handler(sig, frame): | ||
print(f'Interrupted with signal {sig} in {frame}') | ||
|
||
dumpstacks() | ||
|
||
os._exit(0) | ||
|
||
signal.signal(signal.SIGINT, sigint_handler) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#from shark_turbine.turbine_models.schedulers import export_scheduler_model | ||
|
||
def export_scheduler_model(model): | ||
return "None", "None" | ||
|
||
scheduler_model_map = { | ||
"EulerDiscrete": export_scheduler_model("EulerDiscreteScheduler"), | ||
"EulerAncestralDiscrete": export_scheduler_model("EulerAncestralDiscreteScheduler"), | ||
"LCM": export_scheduler_model("LCMScheduler"), | ||
"LMSDiscrete": export_scheduler_model("LMSDiscreteScheduler"), | ||
"PNDM": export_scheduler_model("PNDMScheduler"), | ||
"DDPM": export_scheduler_model("DDPMScheduler"), | ||
"DDIM": export_scheduler_model("DDIMScheduler"), | ||
"DPMSolverMultistep": export_scheduler_model("DPMSolverMultistepScheduler"), | ||
"KDPM2Discrete": export_scheduler_model("KDPM2DiscreteScheduler"), | ||
"DEISMultistep": export_scheduler_model("DEISMultistepScheduler"), | ||
"DPMSolverSinglestep": export_scheduler_model("DPMSolverSingleStepScheduler"), | ||
"KDPM2AncestralDiscrete": export_scheduler_model("KDPM2AncestralDiscreteScheduler"), | ||
"HeunDiscrete": export_scheduler_model("HeunDiscreteScheduler"), | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.