Ensure conditions are not trainable to avoid bugs (#14368)
This commit is contained in:
parent
6f01b244a2
commit
ad564899d3
|
|
@ -15,6 +15,7 @@ import comfy.sampler_helpers
|
||||||
import comfy.sd
|
import comfy.sd
|
||||||
import comfy.utils
|
import comfy.utils
|
||||||
import comfy.model_management
|
import comfy.model_management
|
||||||
|
from comfy.conds import CONDRegular, CONDList
|
||||||
from comfy.cli_args import args, PerformanceFeature
|
from comfy.cli_args import args, PerformanceFeature
|
||||||
import comfy_extras.nodes_custom_sampler
|
import comfy_extras.nodes_custom_sampler
|
||||||
import folder_paths
|
import folder_paths
|
||||||
|
|
@ -120,6 +121,11 @@ def process_cond_list(d, prefix=""):
|
||||||
process_cond_list(v, f"{prefix}.{k}")
|
process_cond_list(v, f"{prefix}.{k}")
|
||||||
elif isinstance(v, torch.Tensor):
|
elif isinstance(v, torch.Tensor):
|
||||||
d[k] = v.clone()
|
d[k] = v.clone()
|
||||||
|
elif isinstance(v, CONDList):
|
||||||
|
v.cond = [t.detach() if isinstance(t, torch.Tensor) else t for t in v.cond]
|
||||||
|
elif isinstance(v, CONDRegular):
|
||||||
|
if isinstance(v.cond, torch.Tensor):
|
||||||
|
v.cond = v.cond.detach()
|
||||||
elif isinstance(v, (list, tuple)):
|
elif isinstance(v, (list, tuple)):
|
||||||
for index, item in enumerate(v):
|
for index, item in enumerate(v):
|
||||||
process_cond_list(item, f"{prefix}.{k}.{index}")
|
process_cond_list(item, f"{prefix}.{k}.{index}")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue