Merge branch 'feature/add-performance-sdxl-lightning'

# Conflicts:
#	modules/async_worker.py
This commit is contained in:
Manuel Schmid
2024-03-03 01:26:44 +01:00
4 changed files with 50 additions and 8 deletions
+24 -1
View File
@@ -260,6 +260,25 @@ def worker():
adm_scaler_negative = 1.0 adm_scaler_negative = 1.0
adm_scaler_end = 0.0 adm_scaler_end = 0.0
elif performance_selection == Performance.LIGHTNING:
print('Enter Lightning mode.')
progressbar(async_task, 1, 'Downloading Lightning components ...')
loras += [(modules.config.downloading_sdxl_lightning_lora(), 1.0)]
if refiner_model_name != 'None':
print(f'Refiner disabled in Lightning mode.')
refiner_model_name = 'None'
sampler_name = 'euler'
scheduler_name = 'sgm_uniform'
sharpness = 0.0
guidance_scale = 1.0
adaptive_cfg = 1.0
refiner_switch = 1.0
adm_scaler_positive = 1.0
adm_scaler_negative = 1.0
adm_scaler_end = 0.0
if translate_prompts: if translate_prompts:
from modules.translator import translate2en from modules.translator import translate2en
prompt = translate2en(prompt, 'prompt') prompt = translate2en(prompt, 'prompt')
@@ -896,7 +915,11 @@ def worker():
img_paths.append(log(x, d, metadata_parser, output_format)) img_paths.append(log(x, d, metadata_parser, output_format))
yield_result(async_task, img_paths, black_out_nsfw, False, yield_result(async_task, img_paths, black_out_nsfw, False,
do_not_show_finished_images=len(tasks) == 1 or disable_intermediate_results or sampler_name == 'lcm') do_not_show_finished_images=len(tasks) == 1
or disable_intermediate_results
or performance_selection == Performance.EXTREME_SPEED
or performance_selection == Performance.LIGHTNING)
except ldm_patched.modules.model_management.InterruptProcessingException as e: except ldm_patched.modules.model_management.InterruptProcessingException as e:
if async_task.last_stop == 'skip': if async_task.last_stop == 'skip':
print('User skipped') print('User skipped')
+9
View File
@@ -541,6 +541,7 @@ with open(config_example_path, "w", encoding="utf-8") as json_file:
model_filenames = [] model_filenames = []
lora_filenames = [] lora_filenames = []
sdxl_lcm_lora = 'sdxl_lcm_lora.safetensors' sdxl_lcm_lora = 'sdxl_lcm_lora.safetensors'
sdxl_lightning_lora = 'sdxl_lightning_4step_lora.safetensors'
def get_model_filenames(folder_paths, name_filter=None): def get_model_filenames(folder_paths, name_filter=None):
@@ -604,6 +605,14 @@ def downloading_sdxl_lcm_lora():
) )
return sdxl_lcm_lora return sdxl_lcm_lora
def downloading_sdxl_lightning_lora():
load_file_from_url(
url='https://huggingface.co/ByteDance/SDXL-Lightning/resolve/main/sdxl_lightning_4step_lora.safetensors',
model_dir=paths_loras[0],
file_name=sdxl_lightning_lora
)
return sdxl_lightning_lora
def downloading_controlnet_canny(): def downloading_controlnet_canny():
load_file_from_url( load_file_from_url(
+5 -1
View File
@@ -100,18 +100,21 @@ class Steps(IntEnum):
QUALITY = 60 QUALITY = 60
SPEED = 30 SPEED = 30
EXTREME_SPEED = 8 EXTREME_SPEED = 8
LIGHTNING = 4
class StepsUOV(IntEnum): class StepsUOV(IntEnum):
QUALITY = 36 QUALITY = 36
SPEED = 18 SPEED = 18
EXTREME_SPEED = 8 EXTREME_SPEED = 8
LIGHTNING = 4
class Performance(Enum): class Performance(Enum):
QUALITY = 'Quality' QUALITY = 'Quality'
SPEED = 'Speed' SPEED = 'Speed'
EXTREME_SPEED = 'Extreme Speed' EXTREME_SPEED = 'Extreme Speed'
LIGHTNING = 'Lightning'
@classmethod @classmethod
def list(cls) -> list: def list(cls) -> list:
@@ -127,5 +130,6 @@ class Performance(Enum):
performance_selections = [ performance_selections = [
(f'Quality <span style="color: grey;"> \U00002223 {Steps.QUALITY.value} steps</span>', Performance.QUALITY.value), (f'Quality <span style="color: grey;"> \U00002223 {Steps.QUALITY.value} steps</span>', Performance.QUALITY.value),
(f'Speed <span style="color: grey;"> \U00002223 {Steps.SPEED.value} steps</span>', Performance.SPEED.value), (f'Speed <span style="color: grey;"> \U00002223 {Steps.SPEED.value} steps</span>', Performance.SPEED.value),
(f'Extreme Speed (LCM) <span style="color: grey;"> \U00002223 {Steps.EXTREME_SPEED.value} steps, intermediate results disabled</span>', Performance.EXTREME_SPEED.value) (f'Extreme Speed (LCM) <span style="color: grey;"> \U00002223 {Steps.EXTREME_SPEED.value} steps, intermediate results disabled</span>', Performance.EXTREME_SPEED.value),
(f'Lightning <span style="color: grey;"> \U00002223 {Steps.LIGHTNING.value} steps, intermediate results disabled</span>', Performance.LIGHTNING.value)
] ]
+12 -6
View File
@@ -1,5 +1,5 @@
{ {
"default_model": "sdxl_lightning_8step.safetensors", "default_model": "juggernautXL_v8Rundiffusion.safetensors",
"default_refiner": "None", "default_refiner": "None",
"default_refiner_switch": 0.5, "default_refiner_switch": 0.5,
"default_loras": [ "default_loras": [
@@ -24,11 +24,11 @@
1.0 1.0
] ]
], ],
"default_cfg_scale": 1.0, "default_cfg_scale": 4.0,
"default_sample_sharpness": 2.0, "default_sample_sharpness": 2.0,
"default_sampler": "euler", "default_sampler": "euler",
"default_scheduler": "sgm_uniform", "default_scheduler": "sgm_uniform",
"default_performance": "Speed", "default_performance": "Lightning",
"default_prompt": "", "default_prompt": "",
"default_prompt_negative": "", "default_prompt_negative": "",
"default_styles": [ "default_styles": [
@@ -37,11 +37,17 @@
"Fooocus Sharp" "Fooocus Sharp"
], ],
"default_aspect_ratio": "1152*896", "default_aspect_ratio": "1152*896",
"default_overwrite_step": 8, "default_overwrite_step": -1,
"checkpoint_downloads": { "checkpoint_downloads": {
"sdxl_lightning_8step.safetensors": "https://huggingface.co/ByteDance/SDXL-Lightning/resolve/main/sdxl_lightning_8step.safetensors" "juggernautXL_v8Rundiffusion.safetensors": "https://huggingface.co/lllyasviel/fav_models/resolve/main/fav/juggernautXL_v8Rundiffusion.safetensors"
}, },
"embeddings_downloads": {}, "embeddings_downloads": {},
"lora_downloads": {}, "lora_downloads": {},
"previous_default_models": [] "previous_default_models": [
"juggernautXL_version8Rundiffusion.safetensors",
"juggernautXL_version7Rundiffusion.safetensors",
"juggernautXL_v7Rundiffusion.safetensors",
"juggernautXL_version6Rundiffusion.safetensors",
"juggernautXL_v6Rundiffusion.safetensors"
]
} }