背景
这两天在协助同事搭建在Flux模型下,保持任务一致性的工作流,但是按照教程的话,是有个节点跑不起来的,各种报错,找了好多资料也没有解决。有的说git不能连外网导致的,有的说下载模型不完整导致的,手动搞定了这些,还是不好使。直接去扒拉这个FuLID-Flux 的源码,找到了问题所在。
环境
ubuntu 22.04,RTX4090,CUDA11.8,ComfyUI v0.2.3 Release,flux1-dev-fp8.safetensors
报错问题
Traceback (most recent call last):
File "/root/autodl-tmp/ComfyUI/execution.py", line 323, in execute
output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
File "/root/autodl-tmp/ComfyUI/execution.py", line 198, in get_output_data
return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
File "/root/autodl-tmp/ComfyUI/execution.py", line 169, in _map_node_over_list
process_inputs(input_dict, i)
File "/root/autodl-tmp/ComfyUI/execution.py", line 158, in process_inputs
results.append(getattr(obj, func)(**inputs))
File "/root/autodl-tmp/ComfyUI/custom_nodes/ComfyUI-PuLID-Flux/pulidflux.py", line 196, in load_insightface
model = FaceAnalysis(name="antelopev2", root=INSIGHTFACE_DIR, providers=[provider + 'ExecutionProvider',]) # alternative to buffalo_l
File "/root/autodl-tmp/conda/envs/comfyui/lib/python3.10/site-packages/insightface/app/face_analysis.py", line 43, in __init__
assert 'detection' in self.models
AssertionError
解决办法(两种)
第一种:
1:找到 /root/autodl-tmp/ComfyUI/custom_nodes/ComfyUI-PuLID-Flux/pulidflux.py 文件
2:定位到 model = FaceAnalysis(name=“antelopev2”, root=INSIGHTFACE_DIR, providers=[provider + ‘ExecutionProvider’,]) # alternative to buffalo_l 这一行
3:可以看到,是antelopev2 模型没有加载出来,就是没有找到,但是你安装 insightface的话,是默认给你下载下来了 antelopev2,但是下载的是个.zip 后缀的压缩包,解压出来的话,是两层目录,.onnx文件全在 ./antelopev2/antelopev2/ 目录下,很明显,找不到,把.onnx文件复制到第一层 ./antelopev2 下即可解决。
第二种:
1:同样是定位到model = FaceAnalysis(name=“antelopev2”, root=INSIGHTFACE_DIR, providers=[provider + ‘ExecutionProvider’,]) # alternative to buffalo_l 这一行
2:把 类里的 name=“antelopev2” 改成 name=“buffalo_l” ,然后从往上找资源下载buffalo_l.zip 放到 ComfyUI/models/insightface/models 下解压即可。