'Extreme Speed' performance mode
This commit is contained in:
parent
54f4b265e0
commit
649f45a6df
@ -1 +1 @@
|
|||||||
version = '2.1.798'
|
version = '2.1.799'
|
||||||
|
@ -160,6 +160,36 @@ def worker():
|
|||||||
print(f'Refiner disabled because base model and refiner are same.')
|
print(f'Refiner disabled because base model and refiner are same.')
|
||||||
refiner_model_name = 'None'
|
refiner_model_name = 'None'
|
||||||
|
|
||||||
|
assert performance_selection in ['Speed', 'Quality', 'Extreme Speed']
|
||||||
|
|
||||||
|
steps = 30
|
||||||
|
|
||||||
|
if performance_selection == 'Speed':
|
||||||
|
steps = 30
|
||||||
|
|
||||||
|
if performance_selection == 'Quality':
|
||||||
|
steps = 60
|
||||||
|
|
||||||
|
if performance_selection == 'Extreme Speed':
|
||||||
|
print('Enter LCM mode.')
|
||||||
|
progressbar(1, 'Downloading LCM components ...')
|
||||||
|
base_model_additional_loras += [(modules.config.downloading_sdxl_lcm_lora(), 1.0)]
|
||||||
|
|
||||||
|
if refiner_model_name != 'None':
|
||||||
|
print(f'Refiner disabled in LCM mode.')
|
||||||
|
|
||||||
|
refiner_model_name = 'None'
|
||||||
|
sampler_name = advanced_parameters.sampler_name = 'lcm'
|
||||||
|
scheduler_name = advanced_parameters.scheduler_name = 'lcm'
|
||||||
|
modules.patch.sharpness = sharpness = 0.0
|
||||||
|
cfg_scale = guidance_scale = 1.0
|
||||||
|
modules.patch.adaptive_cfg = advanced_parameters.adaptive_cfg = 1.0
|
||||||
|
refiner_switch = 1.0
|
||||||
|
modules.patch.positive_adm_scale = advanced_parameters.adm_scaler_positive = 1.0
|
||||||
|
modules.patch.negative_adm_scale = advanced_parameters.adm_scaler_negative = 1.0
|
||||||
|
modules.patch.adm_scaler_end = advanced_parameters.adm_scaler_end = 0.0
|
||||||
|
steps = 8
|
||||||
|
|
||||||
modules.patch.adaptive_cfg = advanced_parameters.adaptive_cfg
|
modules.patch.adaptive_cfg = advanced_parameters.adaptive_cfg
|
||||||
print(f'[Parameters] Adaptive CFG = {modules.patch.adaptive_cfg}')
|
print(f'[Parameters] Adaptive CFG = {modules.patch.adaptive_cfg}')
|
||||||
|
|
||||||
@ -195,11 +225,6 @@ def worker():
|
|||||||
seed = int(image_seed)
|
seed = int(image_seed)
|
||||||
print(f'[Parameters] Seed = {seed}')
|
print(f'[Parameters] Seed = {seed}')
|
||||||
|
|
||||||
if performance_selection == 'Speed':
|
|
||||||
steps = 30
|
|
||||||
else:
|
|
||||||
steps = 60
|
|
||||||
|
|
||||||
sampler_name = advanced_parameters.sampler_name
|
sampler_name = advanced_parameters.sampler_name
|
||||||
scheduler_name = advanced_parameters.scheduler_name
|
scheduler_name = advanced_parameters.scheduler_name
|
||||||
|
|
||||||
@ -217,10 +242,17 @@ def worker():
|
|||||||
if 'fast' in uov_method:
|
if 'fast' in uov_method:
|
||||||
skip_prompt_processing = True
|
skip_prompt_processing = True
|
||||||
else:
|
else:
|
||||||
|
steps = 18
|
||||||
|
|
||||||
if performance_selection == 'Speed':
|
if performance_selection == 'Speed':
|
||||||
steps = 18
|
steps = 18
|
||||||
else:
|
|
||||||
|
if performance_selection == 'Quality':
|
||||||
steps = 36
|
steps = 36
|
||||||
|
|
||||||
|
if performance_selection == 'Extreme Speed':
|
||||||
|
steps = 8
|
||||||
|
|
||||||
progressbar(1, 'Downloading upscale models ...')
|
progressbar(1, 'Downloading upscale models ...')
|
||||||
modules.config.downloading_upscale_model()
|
modules.config.downloading_upscale_model()
|
||||||
if (current_tab == 'inpaint' or (current_tab == 'ip' and advanced_parameters.mixing_image_prompt_and_inpaint))\
|
if (current_tab == 'inpaint' or (current_tab == 'ip' and advanced_parameters.mixing_image_prompt_and_inpaint))\
|
||||||
@ -650,7 +682,10 @@ def worker():
|
|||||||
('Resolution', str((width, height))),
|
('Resolution', str((width, height))),
|
||||||
('Sharpness', sharpness),
|
('Sharpness', sharpness),
|
||||||
('Guidance Scale', guidance_scale),
|
('Guidance Scale', guidance_scale),
|
||||||
('ADM Guidance', str((modules.patch.positive_adm_scale, modules.patch.negative_adm_scale))),
|
('ADM Guidance', str((
|
||||||
|
modules.patch.positive_adm_scale,
|
||||||
|
modules.patch.negative_adm_scale,
|
||||||
|
modules.patch.adm_scaler_end))),
|
||||||
('Base Model', base_model_name),
|
('Base Model', base_model_name),
|
||||||
('Refiner Model', refiner_model_name),
|
('Refiner Model', refiner_model_name),
|
||||||
('Refiner Switch', refiner_switch),
|
('Refiner Switch', refiner_switch),
|
||||||
|
@ -317,6 +317,15 @@ def downloading_inpaint_models(v):
|
|||||||
return head_file, patch_file
|
return head_file, patch_file
|
||||||
|
|
||||||
|
|
||||||
|
def downloading_sdxl_lcm_lora():
|
||||||
|
load_file_from_url(
|
||||||
|
url='https://huggingface.co/lllyasviel/misc/resolve/main/sdxl_lcm_lora.safetensors',
|
||||||
|
model_dir=path_loras,
|
||||||
|
file_name='sdxl_lcm_lora.safetensors'
|
||||||
|
)
|
||||||
|
return os.path.join(path_loras, 'sdxl_lcm_lora.safetensors')
|
||||||
|
|
||||||
|
|
||||||
def downloading_controlnet_canny():
|
def downloading_controlnet_canny():
|
||||||
load_file_from_url(
|
load_file_from_url(
|
||||||
url='https://huggingface.co/lllyasviel/misc/resolve/main/control-lora-canny-rank128.safetensors',
|
url='https://huggingface.co/lllyasviel/misc/resolve/main/control-lora-canny-rank128.safetensors',
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
# 2.1.799
|
||||||
|
|
||||||
|
* Added 'Extreme Speed' performance mode (based on LCM). The previous complicated settings are not needed now.
|
||||||
|
|
||||||
# 2.1.798
|
# 2.1.798
|
||||||
|
|
||||||
* added lcm scheduler - LCM may need to set both sampler and scheduler to "lcm". Other than that, see the description in 2.1.782 logs.
|
* added lcm scheduler - LCM may need to set both sampler and scheduler to "lcm". Other than that, see the description in 2.1.782 logs.
|
||||||
|
12
webui.py
12
webui.py
@ -188,7 +188,9 @@ with shared.gradio_root:
|
|||||||
|
|
||||||
with gr.Column(scale=1, visible=modules.config.default_advanced_checkbox) as advanced_column:
|
with gr.Column(scale=1, visible=modules.config.default_advanced_checkbox) as advanced_column:
|
||||||
with gr.Tab(label='Setting'):
|
with gr.Tab(label='Setting'):
|
||||||
performance_selection = gr.Radio(label='Performance', choices=['Speed', 'Quality'], value='Speed')
|
performance_selection = gr.Radio(label='Performance',
|
||||||
|
choices=['Speed', 'Quality', 'Extreme Speed'],
|
||||||
|
value='Speed')
|
||||||
aspect_ratios_selection = gr.Radio(label='Aspect Ratios', choices=modules.config.available_aspect_ratios,
|
aspect_ratios_selection = gr.Radio(label='Aspect Ratios', choices=modules.config.available_aspect_ratios,
|
||||||
value=modules.config.default_aspect_ratio, info='width × height')
|
value=modules.config.default_aspect_ratio, info='width × height')
|
||||||
image_number = gr.Slider(label='Image Number', minimum=1, maximum=32, step=1, value=modules.config.default_image_number)
|
image_number = gr.Slider(label='Image Number', minimum=1, maximum=32, step=1, value=modules.config.default_image_number)
|
||||||
@ -355,6 +357,14 @@ with shared.gradio_root:
|
|||||||
|
|
||||||
model_refresh.click(model_refresh_clicked, [], [base_model, refiner_model] + lora_ctrls, queue=False)
|
model_refresh.click(model_refresh_clicked, [], [base_model, refiner_model] + lora_ctrls, queue=False)
|
||||||
|
|
||||||
|
performance_selection.change(lambda x: [gr.update(interactive=x != 'Extreme Speed')] * 11,
|
||||||
|
inputs=performance_selection,
|
||||||
|
outputs=[
|
||||||
|
guidance_scale, sharpness, adm_scaler_end, adm_scaler_positive,
|
||||||
|
adm_scaler_negative, refiner_switch, refiner_model, sampler_name,
|
||||||
|
scheduler_name, adaptive_cfg, refiner_swap_method
|
||||||
|
], queue=False, show_progress=False)
|
||||||
|
|
||||||
advanced_checkbox.change(lambda x: gr.update(visible=x), advanced_checkbox, advanced_column, queue=False)
|
advanced_checkbox.change(lambda x: gr.update(visible=x), advanced_checkbox, advanced_column, queue=False)
|
||||||
|
|
||||||
ctrls = [
|
ctrls = [
|
||||||
|
Loading…
Reference in New Issue
Block a user