|
import comfy.sample
|
|
import traceback
|
|
|
|
original_sample = comfy.sample.sample
|
|
|
|
|
|
def informative_sample(*args, **kwargs):
|
|
try:
|
|
return original_sample(*args, **kwargs)
|
|
except RuntimeError as e:
|
|
is_model_mix_issue = False
|
|
try:
|
|
if 'mat1 and mat2 shapes cannot be multiplied' in e.args[0]:
|
|
if 'torch.nn.functional.linear' in traceback.format_exc().strip().split('\n')[-3]:
|
|
is_model_mix_issue = True
|
|
except:
|
|
pass
|
|
|
|
if is_model_mix_issue:
|
|
raise RuntimeError("\n\n#### It seems that models and clips are mixed and interconnected between SDXL Base, SDXL Refiner, SD1.x, and SD2.x. Please verify. ####\n\n")
|
|
else:
|
|
raise e
|
|
|
|
|
|
comfy.sample.sample = informative_sample
|
|
|