feat: add performance hyper-sd based on 4step LoRA
This commit is contained in:
parent
e2f9bcb11d
commit
fa74a0c7fe
|
|
@ -263,6 +263,25 @@ def worker():
|
|||
adm_scaler_negative = 1.0
|
||||
adm_scaler_end = 0.0
|
||||
|
||||
elif performance_selection == Performance.HYPER_SD:
|
||||
print('Enter Hyper-SD mode.')
|
||||
progressbar(async_task, 1, 'Downloading Hyper-SD components ...')
|
||||
loras += [(modules.config.downloading_sdxl_hyper_sd_lora(), 1.0)]
|
||||
|
||||
if refiner_model_name != 'None':
|
||||
print(f'Refiner disabled in Hyper-SD mode.')
|
||||
|
||||
refiner_model_name = 'None'
|
||||
sampler_name = 'ddim'
|
||||
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
|
||||
|
||||
print(f'[Parameters] Adaptive CFG = {adaptive_cfg}')
|
||||
print(f'[Parameters] Sharpness = {sharpness}')
|
||||
print(f'[Parameters] ControlNet Softness = {controlnet_softness}')
|
||||
|
|
|
|||
|
|
@ -539,7 +539,8 @@ wildcard_filenames = []
|
|||
|
||||
sdxl_lcm_lora = 'sdxl_lcm_lora.safetensors'
|
||||
sdxl_lightning_lora = 'sdxl_lightning_4step_lora.safetensors'
|
||||
loras_metadata_remove = [sdxl_lcm_lora, sdxl_lightning_lora]
|
||||
sdxl_hyper_sd_lora = 'sdxl_hyper_sd_4step_lora.safetensors'
|
||||
loras_metadata_remove = [sdxl_lcm_lora, sdxl_lightning_lora, sdxl_hyper_sd_lora]
|
||||
|
||||
|
||||
def get_model_filenames(folder_paths, extensions=None, name_filter=None):
|
||||
|
|
@ -615,6 +616,15 @@ def downloading_sdxl_lightning_lora():
|
|||
return sdxl_lightning_lora
|
||||
|
||||
|
||||
def downloading_sdxl_hyper_sd_lora():
|
||||
load_file_from_url(
|
||||
url='https://huggingface.co/ByteDance/Hyper-SD/resolve/main/Hyper-SDXL-4steps-lora.safetensors',
|
||||
model_dir=paths_loras[0],
|
||||
file_name=sdxl_hyper_sd_lora
|
||||
)
|
||||
return sdxl_hyper_sd_lora
|
||||
|
||||
|
||||
def downloading_controlnet_canny():
|
||||
load_file_from_url(
|
||||
url='https://huggingface.co/lllyasviel/misc/resolve/main/control-lora-canny-rank128.safetensors',
|
||||
|
|
|
|||
|
|
@ -107,6 +107,7 @@ class Steps(IntEnum):
|
|||
SPEED = 30
|
||||
EXTREME_SPEED = 8
|
||||
LIGHTNING = 4
|
||||
HYPER_SD = 4
|
||||
|
||||
|
||||
class StepsUOV(IntEnum):
|
||||
|
|
@ -114,6 +115,7 @@ class StepsUOV(IntEnum):
|
|||
SPEED = 18
|
||||
EXTREME_SPEED = 8
|
||||
LIGHTNING = 4
|
||||
HYPER_SD = 4
|
||||
|
||||
|
||||
class Performance(Enum):
|
||||
|
|
@ -121,6 +123,7 @@ class Performance(Enum):
|
|||
SPEED = 'Speed'
|
||||
EXTREME_SPEED = 'Extreme Speed'
|
||||
LIGHTNING = 'Lightning'
|
||||
HYPER_SD = 'Hyper-SD'
|
||||
|
||||
@classmethod
|
||||
def list(cls) -> list:
|
||||
|
|
@ -130,7 +133,7 @@ class Performance(Enum):
|
|||
def has_restricted_features(cls, x) -> bool:
|
||||
if isinstance(x, Performance):
|
||||
x = x.value
|
||||
return x in [cls.EXTREME_SPEED.value, cls.LIGHTNING.value]
|
||||
return x in [cls.EXTREME_SPEED.value, cls.LIGHTNING.value, cls.HYPER_SD.value]
|
||||
|
||||
def steps(self) -> int | None:
|
||||
return Steps[self.name].value if Steps[self.name] else None
|
||||
|
|
|
|||
Loading…
Reference in New Issue