further simplify #9

This commit is contained in:
Alex "mcmonkey" Goodwin
2023-02-12 23:58:18 -08:00
parent eb93219f8c
commit fa1baedad3
2 changed files with 32 additions and 45 deletions
+32
View File
@@ -241,3 +241,35 @@ class CustomCFGDenoiser(sd_samplers_kdiffusion.CFGDenoiser):
actualRes = torch.einsum("laxy,ab -> lbxy", resRGB, coefs.inverse())
return actualRes
######################### XYZ Plot Script Support logic #########################
def make_axis_options():
xyz_grid = [x for x in scripts.scripts_data if x.script_class.__module__ == "xyz_grid.py"][0].module
def apply_mimic_scale(p, x, xs):
if x != 0:
setattr(p, "dynthres_enabled", True)
setattr(p, "dynthres_mimic_scale", x)
else:
setattr(p, "dynthres_enabled", False)
def apply_scheduler(field):
def core(p, x, xs):
if x not in VALID_MODES:
raise RuntimeError(f"Unknown Scheduler: {x}")
setattr(p, field, x)
return core
extra_axis_options = [
xyz_grid.AxisOption("[DynThres] Mimic Scale", float, apply_mimic_scale),
xyz_grid.AxisOption("[DynThres] Threshold Percentile", float, xyz_grid.apply_field("dynthres_threshold_percentile")),
xyz_grid.AxisOption("[DynThres] Mimic Scheduler", str, apply_scheduler("dynthres_mimic_mode"), choices=lambda: VALID_MODES),
xyz_grid.AxisOption("[DynThres] Mimic minimum", float, xyz_grid.apply_field("dynthres_mimic_scale_min")),
xyz_grid.AxisOption("[DynThres] CFG Scheduler", str, apply_scheduler("dynthres_cfg_mode"), choices=lambda: VALID_MODES),
xyz_grid.AxisOption("[DynThres] CFG minimum", float, xyz_grid.apply_field("dynthres_cfg_scale_min")),
xyz_grid.AxisOption("[DynThres] Power value", float, xyz_grid.apply_field("dynthres_power_val"))
]
xyz_grid.axis_options.extend(extra_axis_options)
try:
make_axis_options()
except Exception as e:
print(f"Failed to add support for X/Y/Z Plot Script because: {e}")
-45
View File
@@ -1,45 +0,0 @@
from pathlib import Path
from modules import scripts
from scripts.dynamic_thresholding import VALID_MODES
def make_axis_options():
xyz_grid = [x for x in scripts.scripts_data if x.script_class.__module__ == "xyz_grid.py"][0].module
AxisOption = xyz_grid.AxisOption
apply_field = xyz_grid.apply_field
def apply_mimic_scale():
def core(p, x, xs):
if x != 0:
setattr(p, "dynthres_enabled", True)
setattr(p, "dynthres_mimic_scale", x)
else:
setattr(p, "dynthres_enabled", False)
return core
def apply_scheduler(field):
def core(p, x, xs):
if x not in VALID_MODES:
raise RuntimeError(f"Unknown Scheduler: {x}")
setattr(p, field, x)
return core
extra_axis_options = [
AxisOption("DT Mimic Scale", float, apply_mimic_scale()),
AxisOption("DT Threshold", float, apply_field("dynthres_threshold_percentile")),
AxisOption("DT Mimic Scheduler", str, apply_scheduler("dynthres_mimic_mode"), choices=lambda: VALID_MODES),
AxisOption("DT Mimic min", float, apply_field("dynthres_mimic_scale_min")),
AxisOption("DT CFG Scheduler", str, apply_scheduler("dynthres_cfg_mode"), choices=lambda: VALID_MODES),
AxisOption("DT CFG min", float, apply_field("dynthres_cfg_scale_min")),
AxisOption("DT Power val", float, apply_field("dynthres_power_val")),
AxisOption("DT Experiment", int, apply_field("dynthres_experiment_mode")),
]
xyz_grid.axis_options.extend(extra_axis_options)
make_axis_options()