Closed niudvb closed 2 months ago
try Linux or readme Windows
这个问题是你的soviet模型只保留了权重参数,没有保留图结构,dict_s2 = torch.load(sovits_path, map_location="cpu")在原本的webui中作者写了utils.py函数可以读取这样的模型,而comfyui自带utils.py这个模块,torch_load会去使用comfy的utils.py。 想个办法绕过comfy的utils.py不知道可不可以,大佬能不能解决一下呀?
把
class HParams:
def __init__(self, **kwargs):
for k, v in kwargs.items():
if type(v) == dict:
v = HParams(**v)
self[k] = v
def keys(self):
return self.__dict__.keys()
def items(self):
return self.__dict__.items()
def values(self):
return self.__dict__.values()
def __len__(self):
return len(self.__dict__)
def __getitem__(self, key):
return getattr(self, key)
def __setitem__(self, key, value):
return setattr(self, key, value)
def __contains__(self, key):
return key in self.__dict__
def __repr__(self):
return self.__dict__.__repr__()
拷贝到comfy/utils.py末尾就可以了
把
class HParams: def __init__(self, **kwargs): for k, v in kwargs.items(): if type(v) == dict: v = HParams(**v) self[k] = v def keys(self): return self.__dict__.keys() def items(self): return self.__dict__.items() def values(self): return self.__dict__.values() def __len__(self): return len(self.__dict__) def __getitem__(self, key): return getattr(self, key) def __setitem__(self, key, value): return setattr(self, key, value) def __contains__(self, key): return key in self.__dict__ def __repr__(self): return self.__dict__.__repr__()
拷贝到comfy/utils.py末尾就可以了
真的是这个问题,感谢感谢!!!!
这个问题是你的soviet模型只保留了权重参数,没有保留图结构,dict_s2 = torch.load(sovits_path, map_location="cpu")在原本的webui中作者写了utils.py函数可以读取这样的模型,而comfyui自带utils.py这个模块,torch_load会去使用comfy的utils.py。 想个办法绕过comfy的utils.py不知道可不可以,大佬能不能解决一下呀?
这个是在用原 gpt_sovits 项目微调的模型才会出现的问题,目前还真只能这样修改
感谢贡献 fix
请问,这样的错误是什么原因导致的?