mirror of
https://github.com/lllyasviel/Fooocus.git
synced 2026-08-16 13:13:16 +02:00
Merge branch 'feature/add-performance-sdxl-lightning'
# Conflicts: # modules/async_worker.py
This commit is contained in:
+24
-1
@@ -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')
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user