mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2024-06-07 21:20:49 +00:00
64311faa68
add VAE from main model into infotext, not from refiner model option to make scripts UI without gr.Group fix inconsistencies with refiner when usings samplers that do more denoising than steps
119 lines
2.6 KiB
Python
119 lines
2.6 KiB
Python
import sys
|
|
|
|
from modules.shared_cmd_options import cmd_opts
|
|
|
|
|
|
def realesrgan_models_names():
|
|
import modules.realesrgan_model
|
|
return [x.name for x in modules.realesrgan_model.get_realesrgan_models(None)]
|
|
|
|
|
|
def postprocessing_scripts():
|
|
import modules.scripts
|
|
|
|
return modules.scripts.scripts_postproc.scripts
|
|
|
|
|
|
def sd_vae_items():
|
|
import modules.sd_vae
|
|
|
|
return ["Automatic", "None"] + list(modules.sd_vae.vae_dict)
|
|
|
|
|
|
def refresh_vae_list():
|
|
import modules.sd_vae
|
|
|
|
modules.sd_vae.refresh_vae_list()
|
|
|
|
|
|
def cross_attention_optimizations():
|
|
import modules.sd_hijack
|
|
|
|
return ["Automatic"] + [x.title() for x in modules.sd_hijack.optimizers] + ["None"]
|
|
|
|
|
|
def sd_unet_items():
|
|
import modules.sd_unet
|
|
|
|
return ["Automatic"] + [x.label for x in modules.sd_unet.unet_options] + ["None"]
|
|
|
|
|
|
def refresh_unet_list():
|
|
import modules.sd_unet
|
|
|
|
modules.sd_unet.list_unets()
|
|
|
|
|
|
def list_checkpoint_tiles():
|
|
import modules.sd_models
|
|
return modules.sd_models.checkpoint_tiles()
|
|
|
|
|
|
def refresh_checkpoints():
|
|
import modules.sd_models
|
|
return modules.sd_models.list_models()
|
|
|
|
|
|
def list_samplers():
|
|
import modules.sd_samplers
|
|
return modules.sd_samplers.all_samplers
|
|
|
|
|
|
def reload_hypernetworks():
|
|
from modules.hypernetworks import hypernetwork
|
|
from modules import shared
|
|
|
|
shared.hypernetworks = hypernetwork.list_hypernetworks(cmd_opts.hypernetwork_dir)
|
|
|
|
|
|
ui_reorder_categories_builtin_items = [
|
|
"inpaint",
|
|
"sampler",
|
|
"accordions",
|
|
"checkboxes",
|
|
"dimensions",
|
|
"cfg",
|
|
"seed",
|
|
"batch",
|
|
"override_settings",
|
|
]
|
|
|
|
|
|
def ui_reorder_categories():
|
|
from modules import scripts
|
|
|
|
yield from ui_reorder_categories_builtin_items
|
|
|
|
sections = {}
|
|
for script in scripts.scripts_txt2img.scripts + scripts.scripts_img2img.scripts:
|
|
if isinstance(script.section, str) and script.section not in ui_reorder_categories_builtin_items:
|
|
sections[script.section] = 1
|
|
|
|
yield from sections
|
|
|
|
yield "scripts"
|
|
|
|
|
|
class Shared(sys.modules[__name__].__class__):
|
|
"""
|
|
this class is here to provide sd_model field as a property, so that it can be created and loaded on demand rather than
|
|
at program startup.
|
|
"""
|
|
|
|
sd_model_val = None
|
|
|
|
@property
|
|
def sd_model(self):
|
|
import modules.sd_models
|
|
|
|
return modules.sd_models.model_data.get_sd_model()
|
|
|
|
@sd_model.setter
|
|
def sd_model(self, value):
|
|
import modules.sd_models
|
|
|
|
modules.sd_models.model_data.set_sd_model(value)
|
|
|
|
|
|
sys.modules['modules.shared'].__class__ = Shared
|