关于ComfyUI的insightface节点中的antelopev2模型经常被自动删除的解决方案

在运行comfyui工作流的时候,如果工作流中用到了insightface节点,经常会在经历了一次节点更新或者是网络情况不好的时候,insightface节点中的antelopev2中的5个模型(1k3d68.onnx、2d106det.onnx、genderage.onnx、glintr100.onnx、scrfd_10g_bnkps.onnx)会被莫名其妙的删除,举个例子,节点“ComfyUI-InstantID”首次运行就会自动下载上述的5个onnx模型,然而在更新节点或者是网络不好无法连接上huggingface网站的时候,本来存在的5个模型会被自动删除掉,但是又无法下载新的模型,导致insightface节点报错!这是由于代码中的模型下载部分存在某些问题导致的!

关于ComfyUI的insightface节点中的antelopev2模型经常被自动删除的解决方案

解决这个问题的方法是修改py文件,将模型下载的逻辑修改为先检测本地是否存在该模型,如果不存在再下载,如果存在则直接使用本地模型文件!

修改前的代码:

def load_insight_face_antelopev2(self, provider):

model = FaceAnalysis(name="antelopev2", root=current_directory, providers=[provider + 'ExecutionProvider',])
model.prepare(ctx_id=0, det_size=(640, 640))

return (model,)

修改后的代码:

# 在模型加载之前添加检查和下载的逻辑
def load_insight_face_antelopev2(self, provider):
# 检查模型文件是否存在
model_path = os.path.join(current_directory, "antelopev2")
if not os.path.exists(model_path):
# 模型文件不存在,则进行下载
model = FaceAnalysis(name="antelopev2", root=current_directory, providers=[provider + 'ExecutionProvider',])
model.prepare(ctx_id=0, det_size=(640, 640))
else:
# 模型文件存在,则直接加载本地模型
model = FaceAnalysis(name="antelopev2", root=current_directory)
model.prepare(ctx_id=0, det_size=(640, 640), all_models=True)
return (model,)

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/guanyucomfyuideinsightfacejiedianzhongdeantelopev2moxingjingchangbeizidongshanchudejiejuefangan/.html

(0)
打赏 微信扫一扫 微信扫一扫
朋远方的头像朋远方
上一篇 2024年2月6日 下午10:51
下一篇 2024年2月11日 上午11:42

相关推荐

发表回复

登录后才能评论