Gourieff / comfyui-reactor-node

Fast and Simple Face Swap Extension Node for ComfyUI
GNU General Public License v3.0
1.44k stars 137 forks source link

Processing halts after recent comfyui changes #50

Closed bitjockeypro closed 11 months ago

bitjockeypro commented 12 months ago

First, confirm

What happened?

Using reactor after updates to comfyui will result in the execution halting and comfui exiting:

`100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 60/60 [00:07<00:00, 7.68it/s] Loading CodeFormer: codeformer-v0.1.0.pth 13:26:45 - ReActor Node - STATUS - Working: source face index [0], target face index [0, 1, 2] Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}

H:\ComfyUI>pause Press any key to continue . . .`

Steps to reproduce the problem

Your workflow Run comfyui with reactor-node.

Sysinfo

Windows 10.

Relevant console log

100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 60/60 [00:07<00:00,  7.68it/s]
        Loading CodeFormer: codeformer-v0.1.0.pth
13:26:45 - ReActor Node - STATUS - Working: source face index [0], target face index [0, 1, 2]
Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}

H:\ComfyUI>pause
Press any key to continue . . .
(base) PS H:\ComfyUI>

Additional information

No response

bitjockeypro commented 12 months ago

Code fails silently in reactor_swapper.py, when calling insightface:

`def getAnalysisModel(): logger.info(f"insightface_path: %s", insightface_path) logger.info("ANALYSIS_MODEL: %s", ANALYSIS_MODEL)

try:
    if ANALYSIS_MODEL is None:
        logger.info("ANALYSIS_MODEL: %s", ANALYSIS_MODEL)
        ANALYSIS_MODEL = insightface.app.FaceAnalysis(
            name="buffalo_l", providers=providers, root=insightface_path
        )
except Exception as e:
    logger.error("An error occurred: %s", str(e))
    logger.error("Traceback: %s", traceback.format_exc())
    raise(e)
return ANALYSIS_MODEL`

Installed libs: onnx-1.14.1, onnxruntime-1.15.1, insightface-0.7.3

Gourieff commented 11 months ago

Cannot repeat your error 🤷‍♂️ Everything works fine, ComfyUI is up to date Maybe there's a conflict with some other node? Or smth wrong with dependencies Provide please python_embeded\python.exe -m pip list

bitjockeypro commented 11 months ago

Yeah, I figured this is an outlier - I traced it further - insightface calls onnx to load the Landmark model, and it's exactly at that point the execution simply halts with the message given above - so this is not a problem with reactor, but onnx. I'm stumped as to what it could be, I'm looking at protobuf next. Here's the output, I appreciate you trying to repro the problem:

(base) PS H:\ComfyUI> python_embeded\python.exe -m pip list Package Version


absl-py 1.4.0 accelerate 0.21.0 addict 2.4.0 aiohttp 3.8.5 aiosignal 1.3.1 albumentations 1.3.1 antlr4-python3-runtime 4.9.3 async-timeout 4.0.3 attrs 23.1.0 boltons 23.0.0 cachetools 5.3.1 certifi 2023.7.22 cffi 1.15.1 charset-normalizer 3.2.0 click 8.1.7 cmake 3.27.5 colorama 0.4.6 coloredlogs 15.0.1 contourpy 1.1.1 cssselect2 0.7.0 cupy-cuda11x 12.2.0 cupy-wheel 12.2.0 cycler 0.11.0 Cython 3.0.2 easydict 1.10 einops 0.6.1 fairscale 0.4.4 fastrlock 0.8.2 ffmpy 0.3.0 filelock 3.12.2 flatbuffers 23.5.26 fonttools 4.42.1 frozenlist 1.4.0 fsspec 2023.6.0 ftfy 6.1.1 future 0.18.3 fvcore 0.1.5.post20221221 gitdb 4.0.10 GitPython 3.1.36 google-auth 2.23.0 google-auth-oauthlib 1.0.0 grpcio 1.58.0 huggingface-hub 0.16.4 humanfriendly 10.0 idna 3.4 imageio 2.31.3 img2texture 1.0.6 importlib-metadata 6.8.0 insightface 0.7.3 iopath 0.1.10 Jinja2 3.1.2 joblib 1.3.2 keras 2.10.0 kiwisolver 1.4.5 kornia 0.7.0 lazy_loader 0.3 libclang 16.0.6 llvmlite 0.40.1 lmdb 1.4.1 lpips 0.1.4 lxml 4.9.3 Markdown 3.4.4 markdown-it-py 3.0.0 MarkupSafe 2.1.3 matplotlib 3.8.0 mdurl 0.1.2 mediapipe 0.10.5 mmcv 2.0.0 mmdet 3.0.0 mmengine 0.7.4 model-index 0.1.11 mpmath 1.3.0 multidict 6.0.4 networkx 3.1 numba 0.57.1 numpy 1.23.5 oauthlib 3.2.2 omegaconf 2.3.0 onnx 1.14.1 onnxruntime 1.15.1 openai 0.28.0 opencv-contrib-python 4.8.0.76 opencv-python 4.8.0.76 opencv-python-headless 4.7.0.72 opendatalab 0.0.9 openmim 0.3.9 opt-einsum 3.3.0 ordered-set 4.1.0 packaging 23.1 pandas 2.1.0 piexif 1.1.3 pilgram 1.2.1 Pillow 9.5.0 pip 23.2.1 platformdirs 3.10.0 pooch 1.7.0 portalocker 2.8.2 prettytable 3.9.0 protobuf 4.24.3 psutil 5.9.5 py-cpuinfo 9.0.0 pyasn1 0.5.0 pyasn1-modules 0.3.0 pycocoevalcap 1.2 pycocotools 2.0.6 pycparser 2.21 pycryptodome 3.19.0 pygit2 1.12.2 Pygments 2.16.1 PyMatting 1.1.8 pyparsing 3.1.1 pypng 0.20220715.0 pyreadline3 3.4.1 PySocks 1.7.1 python-dateutil 2.8.2 pytz 2023.3.post1 PyWavelets 1.4.1 pywin32 306 PyYAML 6.0.1 qrcode 7.4.2 qudida 0.0.4 regex 2023.8.8 rembg 2.0.50 reportlab 4.0.4 requests 2.31.0 requests-oauthlib 1.3.1 requirements-parser 0.5.0 rich 13.5.3 rsa 4.9 safetensors 0.3.2 scikit-image 0.20.0 scikit-learn 1.3.0 scipy 1.11.2 seaborn 0.12.2 segment-anything 1.0 setuptools 68.2.2 shapely 2.0.1 simpleeval 0.9.13 six 1.16.0 smmap 5.0.1 sounddevice 0.4.6 soupsieve 2.5 svglib 1.5.1 sympy 1.12 tabulate 0.9.0 tb-nightly 2.15.0a20230915 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.1 tensorflow-estimator 2.10.0 tensorflow-io-gcs-filesystem 0.31.0 termcolor 2.3.0 terminaltables 3.1.10 threadpoolctl 3.2.0 tifffile 2023.8.30 timm 0.6.13 tinycss2 1.2.1 tokenizers 0.13.3 tomli 2.0.1 torch 2.0.1+cu118 torchaudio 2.0.2+cu118 torchsde 0.2.5 torchvision 0.15.2+cu118 tqdm 4.66.1 trampoline 0.1.2 transformers 4.26.1 types-setuptools 68.2.0.0 typing_extensions 4.7.1 tzdata 2023.3 ultralytics 8.0.181 urllib3 1.26.16 wcwidth 0.2.6 webencodings 0.5.1 websockets 11.0.3 Werkzeug 2.3.7 wheel 0.41.2 wrapt 1.15.0 xformers 0.0.21 yacs 0.1.8 yapf 0.40.1 yarl 1.9.2 zipp 3.17.0

bitjockeypro commented 11 months ago

Ok, downgrading protobuf fixed the issue - I'll leave the issue open in case other people have the same problem - pls resolve the issue as you see fit, and thanks again:

python_embeded\python.exe -m pip uninstall protobuf python_embeded\python.exe -m pip install protobuf==3.20.3

Gourieff commented 11 months ago

Please don't mislead others!

I've just tried to install the latest protobuf 4.24.3 and ReActor Node works with no errors

The Mediapipe library (you use 0.10.5 version) needs protobuf==3.20.3 but not ReActor Node ReActor works with every protobuf >= 3.20.0

изображение