From e5b578d50975a42e007b760cd3771f4e4b79a15a Mon Sep 17 00:00:00 2001 From: comfy-test Date: Sun, 10 May 2026 21:29:08 +0000 Subject: [PATCH] Update dev/windows-portable-cpu --- dev/windows-portable-cpu/index.html | 42 +- dev/windows-portable-cpu/logs/sharp_basic.log | 369 +++++- .../logs/sharp_basic_console.log | 28 +- .../logs/sharp_basic_resources.csv | 38 +- dev/windows-portable-cpu/logs/sharp_exif.log | 258 ++-- .../logs/sharp_exif_console.log | 30 +- .../logs/sharp_exif_resources.csv | 15 +- dev/windows-portable-cpu/models.json | 37 +- dev/windows-portable-cpu/results.json | 38 +- dev/windows-portable-cpu/session.log | 1134 ++++++++++------- .../videos/sharp_basic/frame_000.jpg | Bin 109807 -> 109817 bytes .../videos/sharp_basic/frame_001.jpg | Bin 112892 -> 112885 bytes .../videos/sharp_basic/frame_002.jpg | Bin 0 -> 112548 bytes .../videos/sharp_basic/frame_003.jpg | Bin 0 -> 112787 bytes .../videos/sharp_basic/frame_004.jpg | Bin 0 -> 112944 bytes .../videos/sharp_basic/frame_005.jpg | Bin 0 -> 113104 bytes .../videos/sharp_exif/frame_000.jpg | Bin 111325 -> 111323 bytes 17 files changed, 1261 insertions(+), 728 deletions(-) create mode 100644 dev/windows-portable-cpu/videos/sharp_basic/frame_002.jpg create mode 100644 dev/windows-portable-cpu/videos/sharp_basic/frame_003.jpg create mode 100644 dev/windows-portable-cpu/videos/sharp_basic/frame_004.jpg create mode 100644 dev/windows-portable-cpu/videos/sharp_basic/frame_005.jpg diff --git a/dev/windows-portable-cpu/index.html b/dev/windows-portable-cpu/index.html index d22d511..10d2602 100644 --- a/dev/windows-portable-cpu/index.html +++ b/dev/windows-portable-cpu/index.html @@ -924,7 +924,7 @@

PozzettiAndrea/ComfyUI-Sharp Test Results

- 2026-05-10 20:52 UTC Windows-2025Server-10.0.26100-SP0 AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD + 2026-05-10 21:28 UTC Windows-10-10.0.26100-SP0 Intel64 Family 6 Model 106 Stepping 6, GenuineIntel
@@ -960,7 +960,7 @@ fail
- 12.21s + 24.94s
@@ -974,7 +974,7 @@ fail
- 6.91s + 7.53s
@@ -988,25 +988,25 @@
sharp_basic - 12.21s + 24.94s
-
Workflow execution failed: {'prompt_id': '11df4844-a8d9-475d-9841-12ca8458f85f', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['1'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in <module>\n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in <module>\n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['4', '5', '2', '1'], 'timestamp': 1778446352358} +
Workflow execution failed: {'prompt_id': '76a53094-bb23-4a3c-bc30-1fbb157d736a', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['2', '1'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in <module>\n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in <module>\n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in <module>\n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in <module>\n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in <module>\n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in <module>\n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n ...,\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5137, 0.4627, 0.4275],\n [0.5137, 0.4627, 0.4314],\n [0.5137, 0.4627, 0.4275]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4667, 0.4314],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4667, 0.4314]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392]]]])'], 'prompt': ["{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '4': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 5, 'last_link_id': 10, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [8]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [9]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [10]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 4, 'type': 'GeomPackPreviewGaussian', 'pos': [629.92578125, -322.046875], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 8}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 9}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 10}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'b7df285fc5b3fef7aad434d8b6e8698efed6358b', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [8, 5, 0, 4, 0, 'STRING'], [9, 5, 1, 4, 1, 'EXTRINSICS'], [10, 5, 2, 4, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1, 'offset': [300.79296875, 604.72265625]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['2', '4', '1', '5'], 'timestamp': 1778448517754} Details: -Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-qe40d4z8\ComfyUI-Sharp\workflows\sharp_basic.json -Node error: LoadSharpModel
+Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-309qdvjv\ComfyUI-Sharp\workflows\sharp_basic.json +Node error: SharpPredict
sharp_exif - 6.91s + 7.53s
-
Workflow execution failed: {'prompt_id': '5f04efd9-0d90-4dd5-a72e-7eb2a64ff167', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['9'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in <module>\n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in <module>\n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['7', '8', '9', '2'], 'timestamp': 1778446359505} +
Workflow execution failed: {'prompt_id': 'dba51357-a72d-4023-8da2-b7d65deca596', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['2', '9'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in <module>\n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in <module>\n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in <module>\n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in <module>\n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in <module>\n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in <module>\n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.2157, 0.1647, 0.1569],\n [0.2275, 0.1608, 0.1608],\n [0.2275, 0.1647, 0.1529],\n ...,\n [0.4471, 0.4745, 0.4863],\n [0.4510, 0.4745, 0.4863],\n [0.4431, 0.4745, 0.4745]],\n\n [[0.2196, 0.1686, 0.1569],\n [0.2314, 0.1647, 0.1608],\n [0.2353, 0.1647, 0.1647],\n ...,\n [0.4549, 0.4784, 0.4706],\n [0.4549, 0.4706, 0.4784],\n [0.4431, 0.4706, 0.4667]],\n\n [[0.2314, 0.1725, 0.1569],\n [0.2510, 0.1725, 0.1608],\n [0.2392, 0.1725, 0.1686],\n ...,\n [0.4588, 0.4745, 0.4627],\n [0.4510, 0.4745, 0.4667],\n [0.4471, 0.4706, 0.4627]],\n\n ...,\n\n [[0.1569, 0.1647, 0.1843],\n [0.1647, 0.1725, 0.1882],\n [0.1490, 0.1686, 0.1922],\n ...,\n [0.1020, 0.1137, 0.1373],\n [0.1137, 0.1176, 0.1412],\n [0.0863, 0.1176, 0.1373]],\n\n [[0.1569, 0.1686, 0.1804],\n [0.1569, 0.1647, 0.1961],\n [0.1490, 0.1647, 0.1961],\n ...,\n [0.1059, 0.1216, 0.1294],\n [0.1176, 0.1216, 0.1333],\n [0.1059, 0.1137, 0.1373]],\n\n [[0.1608, 0.1686, 0.1843],\n [0.1608, 0.1686, 0.1882],\n [0.1569, 0.1686, 0.1882],\n ...,\n [0.1059, 0.1176, 0.1333],\n [0.1137, 0.1176, 0.1333],\n [0.1333, 0.1176, 0.1333]]]])'], 'prompt': ["{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '8': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 10, 'last_link_id': 21, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150.00001507357692, -400.0000238262552], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74980006336742, -99.02780314532481], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15697567127387, -245.70491052281056], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [16]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [17]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [18]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': [30, 'sharp']}, {'id': 8, 'type': 'GeomPackPreviewGaussian', 'pos': [641.9426645917283, -275.4979735998702], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 16}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 17}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 18}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'df6bf3d73d0dda9c6ad7428eb58a00dc8cbaf6ed', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [16, 7, 0, 8, 0, 'STRING'], [17, 7, 1, 8, 1, 'EXTRINSICS'], [18, 7, 2, 8, 2, 'INTRINSICS'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1.1, 'offset': [292.8560303656579, 525.3669699599554]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['9', '2', '7', '8'], 'timestamp': 1778448526086} Details: -Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-qe40d4z8\ComfyUI-Sharp\workflows\sharp_exif.json -Node error: LoadSharpModel
+Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-309qdvjv\ComfyUI-Sharp\workflows\sharp_exif.json +Node error: SharpPredict
@@ -1016,9 +1016,25 @@ Node error: LoadSharpModel

Downloaded Models

- 8 files · 18.7 MB + 12 files · 2.6 GB
+
+ + models/sharp/ + + + 2.6 GB + + +
+
sharp_2572gikvuh.pt2.6 GB
+
.cache\huggingface\CACHEDIR.TAG195.0 B
+
.cache\huggingface\download\sharp_2572gikvuh.pt.metadata127.0 B
+
.cache\huggingface\.gitignore1.0 B
+
+
+
models/vae_approx/ @@ -1097,7 +1113,7 @@ Node error: LoadSharpModel
}); } - const workflowData = {"sharp_basic": {"src": "", "title": "sharp_basic", "status": "fail", "duration": "12.21", "log": "Capturing execution frames: sharp_basic.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadImage\n [ComfyUI] Node 1: LoadImage\n [ComfyUI] Inputs: {\"image\": \"beach.jpg\"}\n [ComfyUI] Inputs: {\"image\": \"beach.jpg\"}\n [ComfyUI] Node 2: LoadSharpModel\n [ComfyUI] Node 2: LoadSharpModel\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"precision\": \"auto\"}\n [ComfyUI] Inputs: {\"precision\": \"auto\"}\n [ComfyUI] Node 4: GeomPackPreviewGaussian\n [ComfyUI] Node 4: GeomPackPreviewGaussian\n [ComfyUI] Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] Node 5: SharpPredict\n [ComfyUI] Node 5: SharpPredict\n [ComfyUI] Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] Generated prompt_id: 34c184c8-9710-480d-ad8a-c1226df2416d\n [ComfyUI] Generated prompt_id: 34c184c8-9710-480d-ad8a-c1226df2416d\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] got prompt\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [comfy-env] SubprocessWorker: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [comfy-env] SubprocessWorker: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI'}\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs\n [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs\n [ComfyUI] [ComfyUI-Sharp] python: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [ComfyUI-Sharp] python: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp']\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\runneradmin\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_475kh7tp\\\\persistent_worker.py', 'tcp://127.0.0.1:65343']...\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\runneradmin\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_475kh7tp\\\\persistent_worker.py', 'tcp://127.0.0.1:65343']...\n Frame 2 saved (frame_001.jpg, t=2.3s)\n [capture-periodic] freeze=3ms shot=138ms unfreeze=3ms saved=True\n [ComfyUI] D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\cuda\\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\\actions-runner\\_work\\pytorch\\pytorch\\pytorch\\c10\\cuda\\CUDAFunctions.cpp:88.)\n [ComfyUI] D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\cuda\\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\\actions-runner\\_work\\pytorch\\pytorch\\pytorch\\c10\\cuda\\CUDAFunctions.cpp:88.)\n [ComfyUI] return torch._C._cuda_getDeviceCount() > 0\n [ComfyUI] return torch._C._cuda_getDeviceCount() > 0\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [SubprocessWorker] got response: error\n [ComfyUI] [SubprocessWorker] got response: error\n [ComfyUI] !!! Exception during processing !!! No module named 'safetensors'\n [ComfyUI] !!! Exception during processing !!! No module named 'safetensors'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py\", line 1762, in main\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 170, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 170, in execute\n [ComfyUI] import comfy.model_management\n [ComfyUI] import comfy.model_management\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py\", line 32, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py\", line 32, in \n [ComfyUI] import comfy.utils\n [ComfyUI] import comfy.utils\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py\", line 26, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py\", line 26, in \n [ComfyUI] import safetensors.torch\n [ComfyUI] import safetensors.torch\n [ComfyUI] ModuleNotFoundError: No module named 'safetensors'\n [ComfyUI] ModuleNotFoundError: No module named 'safetensors'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 534, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 534, in execute\n [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 334, in get_output_data\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 334, in get_output_data\n [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 308, in _async_map_node_over_list\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 308, in _async_map_node_over_list\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 296, in process_inputs\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 296, in process_inputs\n [ComfyUI] result = f(**inputs)\n [ComfyUI] result = f(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 536, in proxy\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 536, in proxy\n [ComfyUI] result = worker.call_method(\n [ComfyUI] result = worker.call_method(\n [ComfyUI] module_name=mod,\n [ComfyUI] module_name=mod,\n [ComfyUI] ...<4 lines>...\n [ComfyUI] ...<4 lines>...\n [ComfyUI] timeout=600.0,\n [ComfyUI] timeout=600.0,\n [ComfyUI] )\n [ComfyUI] )\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n Execution complete (t=3.4s)\n [ComfyUI] raise WorkerError(\n [ComfyUI] raise WorkerError(\n Execution error: {'prompt_id': '11df4844-a8d9-475d-9841-12ca8458f85f', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['1'], 'exception_message': 'No module named \\'safetensors\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_475kh7tp\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 170, in execute\\n import comfy.model_management\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_management.py\", line 32, in \\n import comfy.utils\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\utils.py\", line 26, in \\n import safetensors.torch\\nModuleNotFoundError: No module named \\'safetensors\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['4', '5', '2', '1'], 'timestamp': 1778446352358}\n [ComfyUI] ...<2 lines>...\n [ComfyUI] ...<2 lines>...\n Status: FAILED\n Error: Workflow execution failed: {'prompt_id': '11df4844-a8d9-475d-9841-12ca8458f85f', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['1'], 'exception_message': 'No module named \\'safetensors\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_475kh7tp\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 170, in execute\\n import comfy.model_management\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_management.py\", line 32, in \\n import comfy.utils\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\utils.py\", line 26, in \\n import safetensors.torch\\nModuleNotFoundError: No module named \\'safetensors\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['4', '5', '2', '1'], 'timestamp': 1778446352358}\n Details: Workflow: C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfy-test-run-qe40d4z8\\ComfyUI-Sharp\\workflows\\sharp_basic.json\nNode error: LoadSharpModel\n [ComfyUI] )\n [ComfyUI] )\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'safetensors'", "hardware": {"os": "Windows-2025Server-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}, "sharp_exif": {"src": "", "title": "sharp_exif", "status": "fail", "duration": "6.91", "log": "Capturing execution frames: sharp_exif.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 2: LoadSharpModel\n [ComfyUI] Node 2: LoadSharpModel\n Queuing workflow for execution...\n [ComfyUI] Inputs: {\"precision\": \"auto\"}\n [ComfyUI] Inputs: {\"precision\": \"auto\"}\n [ComfyUI] Node 7: SharpPredict\n [ComfyUI] Node 7: SharpPredict\n [ComfyUI] Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] Node 8: GeomPackPreviewGaussian\n [ComfyUI] Node 8: GeomPackPreviewGaussian\n [ComfyUI] Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"7\", 0], \"extrinsics\": [\"7\", 1], \"intrinsics\": [\"7\", 2]}\n [ComfyUI] Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"7\", 0], \"extrinsics\": [\"7\", 1], \"intrinsics\": [\"7\", 2]}\n [ComfyUI] Node 9: LoadImageWithExif\n [ComfyUI] Node 9: LoadImageWithExif\n [ComfyUI] Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\n [ComfyUI] Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\n [ComfyUI] Generated prompt_id: 7b9c94f6-cd67-485f-9bf1-25bfe4d2bc8e\n [ComfyUI] Generated prompt_id: 7b9c94f6-cd67-485f-9bf1-25bfe4d2bc8e\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] got prompt\n [ComfyUI] [comfy-env] Running LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0\n [ComfyUI] [comfy-env] Running LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] call_id=2 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadImageWithExif done (0.46s): result: NodeOutput\n [ComfyUI] [comfy-env] LoadImageWithExif done (0.46s): result: NodeOutput\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: error\n [ComfyUI] [SubprocessWorker] got response: error\n [ComfyUI] !!! Exception during processing !!! No module named 'safetensors'\n [ComfyUI] !!! Exception during processing !!! No module named 'safetensors'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py\", line 1762, in main\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 170, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 170, in execute\n [ComfyUI] import comfy.model_management\n [ComfyUI] import comfy.model_management\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py\", line 32, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py\", line 32, in \n [ComfyUI] import comfy.utils\n [ComfyUI] import comfy.utils\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py\", line 26, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py\", line 26, in \n [ComfyUI] import safetensors.torch\n [ComfyUI] import safetensors.torch\n [ComfyUI] ModuleNotFoundError: No module named 'safetensors'\n [ComfyUI] ModuleNotFoundError: No module named 'safetensors'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 534, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 534, in execute\n [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 334, in get_output_data\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 334, in get_output_data\n [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 308, in _async_map_node_over_list\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 308, in _async_map_node_over_list\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 296, in process_inputs\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 296, in process_inputs\n [ComfyUI] result = f(**inputs)\n [ComfyUI] result = f(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 536, in proxy\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 536, in proxy\n [ComfyUI] result = worker.call_method(\n [ComfyUI] result = worker.call_method(\n [ComfyUI] module_name=mod,\n [ComfyUI] module_name=mod,\n [ComfyUI] ...<4 lines>...\n [ComfyUI] ...<4 lines>...\n [ComfyUI] timeout=600.0,\n [ComfyUI] timeout=600.0,\n [ComfyUI] )\n [ComfyUI] )\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] raise WorkerError(\n [ComfyUI] raise WorkerError(\n [ComfyUI] ...<2 lines>...\n [ComfyUI] ...<2 lines>...\n [ComfyUI] )\n [ComfyUI] )\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'safetensors'\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'safetensors'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py\", line 1762, in main\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 170, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 170, in execute\n [ComfyUI] import comfy.model_management\n [ComfyUI] import comfy.model_management\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py\", line 32, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py\", line 32, in \n [ComfyUI] import comfy.utils\n [ComfyUI] import comfy.utils\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py\", line 26, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py\", line 26, in \n [ComfyUI] import safetensors.torch\n [ComfyUI] import safetensors.torch\n [ComfyUI] ModuleNotFoundError: No module named 'safetensors'\n [ComfyUI] ModuleNotFoundError: No module named 'safetensors'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Prompt executed in 0.52 seconds\n [ComfyUI] Prompt executed in 0.52 seconds\n Execution complete (t=0.8s)\n Execution error: {'prompt_id': '5f04efd9-0d90-4dd5-a72e-7eb2a64ff167', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['9'], 'exception_message': 'No module named \\'safetensors\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_475kh7tp\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 170, in execute\\n import comfy.model_management\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_management.py\", line 32, in \\n import comfy.utils\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\utils.py\", line 26, in \\n import safetensors.torch\\nModuleNotFoundError: No module named \\'safetensors\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['7', '8', '9', '2'], 'timestamp': 1778446359505}\n Status: FAILED\n Error: Workflow execution failed: {'prompt_id': '5f04efd9-0d90-4dd5-a72e-7eb2a64ff167', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['9'], 'exception_message': 'No module named \\'safetensors\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_475kh7tp\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 170, in execute\\n import comfy.model_management\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_management.py\", line 32, in \\n import comfy.utils\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\utils.py\", line 26, in \\n import safetensors.torch\\nModuleNotFoundError: No module named \\'safetensors\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['7', '8', '9', '2'], 'timestamp': 1778446359505}\n Details: Workflow: C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfy-test-run-qe40d4z8\\ComfyUI-Sharp\\workflows\\sharp_exif.json\nNode error: LoadSharpModel", "hardware": {"os": "Windows-2025Server-10.0.26100-SP0", "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD"}}}; + const workflowData = {"sharp_basic": {"src": "", "title": "sharp_basic", "status": "fail", "duration": "24.94", "log": "Capturing execution frames: sharp_basic.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 1: LoadImage\n [ComfyUI] Node 1: LoadImage\n [ComfyUI] Inputs: {\"image\": \"beach.jpg\"}\n [ComfyUI] Inputs: {\"image\": \"beach.jpg\"}\n Queuing workflow for execution...\n [ComfyUI] Node 2: LoadSharpModel\n [ComfyUI] Node 2: LoadSharpModel\n [ComfyUI] Inputs: {\"precision\": \"auto\"}\n [ComfyUI] Inputs: {\"precision\": \"auto\"}\n [ComfyUI] Node 4: GeomPackPreviewGaussian\n [ComfyUI] Node 4: GeomPackPreviewGaussian\n [ComfyUI] Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"5\", 0], \"extrinsics\": [\"5\", 1], \"intrinsics\": [\"5\", 2]}\n [ComfyUI] Node 5: SharpPredict\n [ComfyUI] Node 5: SharpPredict\n [ComfyUI] Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] Inputs: {\"focal_length_mm\": 30, \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"1\", 0]}\n [ComfyUI] Generated prompt_id: 800ec3de-59ee-4884-98d7-008fd47292de\n [ComfyUI] Generated prompt_id: 800ec3de-59ee-4884-98d7-008fd47292de\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] got prompt\n [ComfyUI] got prompt\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [comfy-env] SubprocessWorker: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [comfy-env] SubprocessWorker: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI'}\n [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI'}\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] python: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [ComfyUI-Sharp] python: D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs\n [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp']\n [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp']\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\python.exe\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\runneradmin\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_856nmmb6\\\\persistent_worker.py', 'tcp://127.0.0.1:64575']...\n [ComfyUI] [SubprocessWorker] launching cmd=['C:\\\\Users\\\\runneradmin\\\\.pixi\\\\bin\\\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_856nmmb6\\\\persistent_worker.py', 'tcp://127.0.0.1:64575']...\n Frame 2 saved (frame_001.jpg, t=2.4s)\n [capture-periodic] freeze=9ms shot=175ms unfreeze=7ms saved=True\n [ComfyUI] D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\cuda\\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\\actions-runner\\_work\\pytorch\\pytorch\\pytorch\\c10\\cuda\\CUDAFunctions.cpp:88.)\n [ComfyUI] D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\cuda\\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\\actions-runner\\_work\\pytorch\\pytorch\\pytorch\\c10\\cuda\\CUDAFunctions.cpp:88.)\n [ComfyUI] return torch._C._cuda_getDeviceCount() > 0\n [ComfyUI] return torch._C._cuda_getDeviceCount() > 0\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available.\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n [ComfyUI] [SubprocessWorker] call_id=1 sending call_method\n Frame 3 saved (frame_002.jpg, t=4.8s)\n [capture-periodic] freeze=7ms shot=164ms unfreeze=7ms saved=True\n [ComfyUI] \n [ComfyUI] \n [capture-loop] iter=50 t=6.3s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=7 ram=5.7/16.0GB (36%) swap=0.3/2.9GB (11%) cpu=42% browser_rss=0.70GB\n [ComfyUI] sharp_2572gikvuh.pt: 0%| | 0.00/2.81G [00:00\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 31, in \n [ComfyUI] import comfy.hooks\n [ComfyUI] import comfy.hooks\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in \n [ComfyUI] import comfy.lora\n [ComfyUI] import comfy.lora\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in \n [ComfyUI] import comfy.model_base\n [ComfyUI] import comfy.model_base\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25, in \n [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21, in \n [ComfyUI] from ..sdpose import HeatmapHead\n [ComfyUI] from ..sdpose import HeatmapHead\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3, in \n [ComfyUI] from scipy.ndimage import gaussian_filter\n [ComfyUI] from scipy.ndimage import gaussian_filter\n [ComfyUI] ModuleNotFoundError: No module named 'scipy'\n [ComfyUI] ModuleNotFoundError: No module named 'scipy'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 534, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 534, in execute\n [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 334, in get_output_data\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 334, in get_output_data\n [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 308, in _async_map_node_over_list\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 308, in _async_map_node_over_list\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 296, in process_inputs\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 296, in process_inputs\n [ComfyUI] result = f(**inputs)\n [ComfyUI] result = f(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 536, in proxy\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 536, in proxy\n [ComfyUI] result = worker.call_method(\n [ComfyUI] result = worker.call_method(\n [ComfyUI] module_name=mod,\n [ComfyUI] module_name=mod,\n [ComfyUI] ...<4 lines>...\n [ComfyUI] ...<4 lines>...\n [ComfyUI] timeout=600.0,\n [ComfyUI] timeout=600.0,\n [ComfyUI] )\n [ComfyUI] )\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] raise WorkerError(\n [ComfyUI] raise WorkerError(\n [capture-loop] iter=100 t=15.3s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=6.4/16.0GB (40%) swap=0.3/2.9GB (11%) cpu=91% browser_rss=0.73GB\n [ComfyUI] ...<2 lines>...\n [ComfyUI] ...<2 lines>...\n [ComfyUI] )\n [ComfyUI] )\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy'\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py\", line 1762, in main\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 111, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 111, in execute\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 75, in _load_sharp_model\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 75, in _load_sharp_model\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 31, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 31, in \n [ComfyUI] import comfy.hooks\n [ComfyUI] import comfy.hooks\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in \n [ComfyUI] import comfy.lora\n [ComfyUI] import comfy.lora\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in \n [ComfyUI] import comfy.model_base\n [ComfyUI] import comfy.model_base\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25, in \n [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21, in \n [ComfyUI] from ..sdpose import HeatmapHead\n [ComfyUI] from ..sdpose import HeatmapHead\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3, in \n [ComfyUI] from scipy.ndimage import gaussian_filter\n [ComfyUI] from scipy.ndimage import gaussian_filter\n [ComfyUI] ModuleNotFoundError: No module named 'scipy'\n [ComfyUI] ModuleNotFoundError: No module named 'scipy'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Prompt executed in 14.93 seconds\n [ComfyUI] Prompt executed in 14.93 seconds\n Execution complete (t=15.7s)\n Execution error: {'prompt_id': '76a53094-bb23-4a3c-bc30-1fbb157d736a', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['2', '1'], 'exception_message': 'No module named \\'scipy\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_856nmmb6\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 111, in execute\\n patcher = _load_sharp_model(model)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 75, in _load_sharp_model\\n import comfy.model_patcher\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 31, in \\n import comfy.hooks\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in \\n import comfy.lora\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in \\n import comfy.model_base\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 25, in \\n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\diffusionmodules\\\\openaimodel.py\", line 21, in \\n from ..sdpose import HeatmapHead\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\sdpose.py\", line 3, in \\n from scipy.ndimage import gaussian_filter\\nModuleNotFoundError: No module named \\'scipy\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'D:\\\\\\\\a\\\\\\\\comfy-gpu-ci\\\\\\\\comfy-gpu-ci\\\\\\\\test_workspaces\\\\\\\\Sharp-2121\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}\"], 'image': ['tensor([[[[0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n ...,\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000]],\\n\\n [[0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n ...,\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000]],\\n\\n [[0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n ...,\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000]],\\n\\n ...,\\n\\n [[0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n ...,\\n [0.5137, 0.4627, 0.4275],\\n [0.5137, 0.4627, 0.4314],\\n [0.5137, 0.4627, 0.4275]],\\n\\n [[0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n ...,\\n [0.5059, 0.4667, 0.4314],\\n [0.5059, 0.4627, 0.4392],\\n [0.5059, 0.4667, 0.4314]],\\n\\n [[0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n ...,\\n [0.5059, 0.4627, 0.4392],\\n [0.5059, 0.4627, 0.4392],\\n [0.5059, 0.4627, 0.4392]]]])'], 'prompt': [\"{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '4': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 5, 'last_link_id': 10, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [8]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [9]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [10]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 4, 'type': 'GeomPackPreviewGaussian', 'pos': [629.92578125, -322.046875], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 8}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 9}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 10}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'b7df285fc5b3fef7aad434d8b6e8698efed6358b', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [8, 5, 0, 4, 0, 'STRING'], [9, 5, 1, 4, 1, 'EXTRINSICS'], [10, 5, 2, 4, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1, 'offset': [300.79296875, 604.72265625]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}\"]}, 'current_outputs': ['2', '4', '1', '5'], 'timestamp': 1778448517754}\n Status: FAILED\n Error: Workflow execution failed: {'prompt_id': '76a53094-bb23-4a3c-bc30-1fbb157d736a', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['2', '1'], 'exception_message': 'No module named \\'scipy\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_856nmmb6\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 111, in execute\\n patcher = _load_sharp_model(model)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 75, in _load_sharp_model\\n import comfy.model_patcher\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 31, in \\n import comfy.hooks\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in \\n import comfy.lora\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in \\n import comfy.model_base\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 25, in \\n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\diffusionmodules\\\\openaimodel.py\", line 21, in \\n from ..sdpose import HeatmapHead\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\sdpose.py\", line 3, in \\n from scipy.ndimage import gaussian_filter\\nModuleNotFoundErr\n... (truncated)", "hardware": {"os": "Windows-10-10.0.26100-SP0", "cpu": "Intel64 Family 6 Model 106 Stepping 6, GenuineIntel"}}, "sharp_exif": {"src": "", "title": "sharp_exif", "status": "fail", "duration": "7.53", "log": "Capturing execution frames: sharp_exif.json\n Frame 1 saved (frame_000.jpg, t=0.0s)\n Validating workflow...\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] === /validate endpoint called ===\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Received JSON with keys: ['prompt']\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Prompt has 4 nodes\n [ComfyUI] Node 2: LoadSharpModel\n [ComfyUI] Node 2: LoadSharpModel\n [ComfyUI] Inputs: {\"precision\": \"auto\"}\n [ComfyUI] Inputs: {\"precision\": \"auto\"}\n [ComfyUI] Node 7: SharpPredict\n [ComfyUI] Node 7: SharpPredict\n [ComfyUI] Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] Inputs: {\"focal_length_mm\": [\"9\", 2], \"output_prefix\": \"sharp\", \"model\": [\"2\", 0], \"image\": [\"9\", 0]}\n [ComfyUI] Node 8: GeomPackPreviewGaussian\n [ComfyUI] Node 8: GeomPackPreviewGaussian\n [ComfyUI] Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"7\", 0], \"extrinsics\": [\"7\", 1], \"intrinsics\": [\"7\", 2]}\n [ComfyUI] Inputs: {\"preview_gaussian\": \"\", \"ply_path\": [\"7\", 0], \"extrinsics\": [\"7\", 1], \"intrinsics\": [\"7\", 2]}\n [ComfyUI] Node 9: LoadImageWithExif\n [ComfyUI] Node 9: LoadImageWithExif\n [ComfyUI] Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\n [ComfyUI] Inputs: {\"image\": \"eth3d.png\", \"default_focal_mm\": 30}\n [ComfyUI] Generated prompt_id: 0cc5af76-f424-47a5-8a6b-30f97bb0b6c1\n [ComfyUI] Generated prompt_id: 0cc5af76-f424-47a5-8a6b-30f97bb0b6c1\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Calling execution.validate_prompt()...\n [ComfyUI] Validation result: valid=True\n [ComfyUI] Validation result: valid=True\n [ComfyUI] === Validation PASSED ===\n [ComfyUI] === Validation PASSED ===\n Queuing workflow for execution...\n [ComfyUI] got prompt\n [ComfyUI] got prompt\n [ComfyUI] [comfy-env] Running LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0\n [ComfyUI] [comfy-env] Running LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] call_id=3 sending call_method\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadImageWithExif done (0.51s): result: NodeOutput\n [ComfyUI] [comfy-env] LoadImageWithExif done (0.51s): result: NodeOutput\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto'\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] [SubprocessWorker] call_id=4 sending call_method\n [ComfyUI] Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n [ComfyUI] Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n [ComfyUI] [worker:ComfyUI-Sharp] WARNING: Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [SubprocessWorker] got response: ok\n [ComfyUI] [comfy-env] LoadSharpModel done (0.21s): result: NodeOutput\n [ComfyUI] [comfy-env] LoadSharpModel done (0.21s): result: NodeOutput\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,2022,3040,3] cpu\n [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,2022,3040,3] cpu\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [SubprocessWorker] acquired lock, ensuring started...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)...\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [ComfyUI-Sharp] Health check: ok\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [SubprocessWorker] worker started/confirmed\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 2022, 3040, 3])\n [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 2022, 3040, 3])\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] serializing kwargs to shm...\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] created 0 shm blocks\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] sending request via socket...\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [SubprocessWorker] call_id=5 sending call_method\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size']\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2022, 3040, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2022, 3040, 3]\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2022, 3040, 3])\n [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2022, 3040, 3])\n [ComfyUI] [SubprocessWorker] got response: error\n [ComfyUI] [SubprocessWorker] got response: error\n [ComfyUI] !!! Exception during processing !!! No module named 'scipy'\n [ComfyUI] !!! Exception during processing !!! No module named 'scipy'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py\", line 1762, in main\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 111, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 111, in execute\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 75, in _load_sharp_model\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 75, in _load_sharp_model\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 31, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 31, in \n [ComfyUI] import comfy.hooks\n [ComfyUI] import comfy.hooks\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in \n [ComfyUI] import comfy.lora\n [ComfyUI] import comfy.lora\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in \n [ComfyUI] import comfy.model_base\n [ComfyUI] import comfy.model_base\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25, in \n [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21, in \n [ComfyUI] from ..sdpose import HeatmapHead\n [ComfyUI] from ..sdpose import HeatmapHead\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3, in \n [ComfyUI] from scipy.ndimage import gaussian_filter\n [ComfyUI] from scipy.ndimage import gaussian_filter\n [ComfyUI] ModuleNotFoundError: No module named 'scipy'\n [ComfyUI] ModuleNotFoundError: No module named 'scipy'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 534, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 534, in execute\n [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 334, in get_output_data\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 334, in get_output_data\n [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 308, in _async_map_node_over_list\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 308, in _async_map_node_over_list\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] await process_inputs(input_dict, i)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 296, in process_inputs\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py\", line 296, in process_inputs\n [ComfyUI] result = f(**inputs)\n [ComfyUI] result = f(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 536, in proxy\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py\", line 536, in proxy\n [ComfyUI] result = worker.call_method(\n [ComfyUI] result = worker.call_method(\n [ComfyUI] module_name=mod,\n [ComfyUI] module_name=mod,\n [ComfyUI] ...<4 lines>...\n [ComfyUI] ...<4 lines>...\n [ComfyUI] timeout=600.0,\n [ComfyUI] timeout=600.0,\n [ComfyUI] )\n [ComfyUI] )\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py\", line 674, in call_method\n [ComfyUI] raise WorkerError(\n [ComfyUI] raise WorkerError(\n [ComfyUI] ...<2 lines>...\n [ComfyUI] ...<2 lines>...\n [ComfyUI] )\n [ComfyUI] )\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy'\n [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Worker traceback:\n [ComfyUI] Worker traceback:\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] Traceback (most recent call last):\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py\", line 1762, in main\n [ComfyUI] File \"C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py\", line 1762, in main\n [ComfyUI] result = method(**inputs)\n [ComfyUI] result = method(**inputs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py\", line 1826, in EXECUTE_NORMALIZED\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] to_return = cls.execute(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py\", line 124, in decorate_context\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] return func(*args, **kwargs)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 111, in execute\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py\", line 111, in execute\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] patcher = _load_sharp_model(model)\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 75, in _load_sharp_model\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py\", line 75, in _load_sharp_model\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] import comfy.model_patcher\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 31, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py\", line 31, in \n [ComfyUI] import comfy.hooks\n [ComfyUI] import comfy.hooks\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py\", line 14, in \n [ComfyUI] import comfy.lora\n [ComfyUI] import comfy.lora\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py\", line 22, in \n [ComfyUI] import comfy.model_base\n [ComfyUI] import comfy.model_base\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py\", line 25, in \n [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py\", line 21, in \n [ComfyUI] from ..sdpose import HeatmapHead\n [ComfyUI] from ..sdpose import HeatmapHead\n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3, in \n [ComfyUI] File \"D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py\", line 3, in \n [ComfyUI] from scipy.ndimage import gaussian_filter\n [ComfyUI] from scipy.ndimage import gaussian_filter\n [ComfyUI] ModuleNotFoundError: No module named 'scipy'\n [ComfyUI] ModuleNotFoundError: No module named 'scipy'\n [ComfyUI] \n [ComfyUI] \n [ComfyUI] \n [ComfyUI] \n [ComfyUI] Prompt executed in 0.88 seconds\n [ComfyUI] Prompt executed in 0.88 seconds\n Execution complete (t=1.2s)\n Execution error: {'prompt_id': 'dba51357-a72d-4023-8da2-b7d65deca596', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['2', '9'], 'exception_message': 'No module named \\'scipy\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_856nmmb6\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 111, in execute\\n patcher = _load_sharp_model(model)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 75, in _load_sharp_model\\n import comfy.model_patcher\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 31, in \\n import comfy.hooks\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in \\n import comfy.lora\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in \\n import comfy.model_base\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 25, in \\n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\diffusionmodules\\\\openaimodel.py\", line 21, in \\n from ..sdpose import HeatmapHead\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\sdpose.py\", line 3, in \\n from scipy.ndimage import gaussian_filter\\nModuleNotFoundError: No module named \\'scipy\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'D:\\\\\\\\a\\\\\\\\comfy-gpu-ci\\\\\\\\comfy-gpu-ci\\\\\\\\test_workspaces\\\\\\\\Sharp-2121\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}\"], 'image': ['tensor([[[[0.2157, 0.1647, 0.1569],\\n [0.2275, 0.1608, 0.1608],\\n [0.2275, 0.1647, 0.1529],\\n ...,\\n [0.4471, 0.4745, 0.4863],\\n [0.4510, 0.4745, 0.4863],\\n [0.4431, 0.4745, 0.4745]],\\n\\n [[0.2196, 0.1686, 0.1569],\\n [0.2314, 0.1647, 0.1608],\\n [0.2353, 0.1647, 0.1647],\\n ...,\\n [0.4549, 0.4784, 0.4706],\\n [0.4549, 0.4706, 0.4784],\\n [0.4431, 0.4706, 0.4667]],\\n\\n [[0.2314, 0.1725, 0.1569],\\n [0.2510, 0.1725, 0.1608],\\n [0.2392, 0.1725, 0.1686],\\n ...,\\n [0.4588, 0.4745, 0.4627],\\n [0.4510, 0.4745, 0.4667],\\n [0.4471, 0.4706, 0.4627]],\\n\\n ...,\\n\\n [[0.1569, 0.1647, 0.1843],\\n [0.1647, 0.1725, 0.1882],\\n [0.1490, 0.1686, 0.1922],\\n ...,\\n [0.1020, 0.1137, 0.1373],\\n [0.1137, 0.1176, 0.1412],\\n [0.0863, 0.1176, 0.1373]],\\n\\n [[0.1569, 0.1686, 0.1804],\\n [0.1569, 0.1647, 0.1961],\\n [0.1490, 0.1647, 0.1961],\\n ...,\\n [0.1059, 0.1216, 0.1294],\\n [0.1176, 0.1216, 0.1333],\\n [0.1059, 0.1137, 0.1373]],\\n\\n [[0.1608, 0.1686, 0.1843],\\n [0.1608, 0.1686, 0.1882],\\n [0.1569, 0.1686, 0.1882],\\n ...,\\n [0.1059, 0.1176, 0.1333],\\n [0.1137, 0.1176, 0.1333],\\n [0.1333, 0.1176, 0.1333]]]])'], 'prompt': [\"{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '8': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 10, 'last_link_id': 21, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150.00001507357692, -400.0000238262552], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74980006336742, -99.02780314532481], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15697567127387, -245.70491052281056], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [16]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [17]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [18]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': [30, 'sharp']}, {'id': 8, 'type': 'GeomPackPreviewGaussian', 'pos': [641.9426645917283, -275.4979735998702], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 16}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 17}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 18}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'df6bf3d73d0dda9c6ad7428eb58a00dc8cbaf6ed', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [16, 7, 0, 8, 0, 'STRING'], [17, 7, 1, 8, 1, 'EXTRINSICS'], [18, 7, 2, 8, 2, 'INTRINSICS'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1.1, 'offset': [292.8560303656579, 525.3669699599554]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}\"]}, 'current_outputs': ['9', '2', '7', '8'], 'timestamp': 1778448526086}\n Status: FAILED\n Error: Workflow execution failed: {'prompt_id': 'dba51357-a72d-4023-8da2-b7d65deca596', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['2', '9'], 'exception_message': 'No module named \\'scipy\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_856nmmb6\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 111, in execute\\n patcher = _load_sharp_model(model)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 75, in _load_sharp_model\\n import comfy.model_patcher\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 31, in \\n import comfy.hooks\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in \\n import comfy.lora\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in \\n import comfy.model_base\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 25, in \\n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\diffusionmodules\\\\openaimodel.py\", line 21, in \\n from ..sdpose import HeatmapHead\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\sdpose.py\", line 3, in \\n from scipy.ndimage import gaussian_filter\\nModuleNotFoundError: No module named \\'scipy\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'D:\\\\\\\\a\\\\\\\\comfy-gpu-ci\\\\\\\\comfy-gpu-ci\\\\\\\\test_workspaces\\\\\\\\Sharp-2121\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}\"], 'image': ['tensor([[[[0.2157, 0.1647, 0.1569],\\n [0.2275, 0.1608, 0.1608],\\n [0.2275, 0.1647, 0.1529],\\n ...,\\n [0.4471, 0.4745, 0.4863],\\n [0.4510, 0.4745, 0.4863],\\n [0.4431, 0.4745, 0.4745]],\\n\\n [[0.2196, 0.1686, 0.1569],\\n [0.2314, 0.1647, 0.1608],\\n [0.2353, 0.1647, 0.1647],\\n ...,\\n [0.4549, 0.4784, 0.4706],\\n [0.4549, 0.4706, 0.4784],\\n [0.4431, 0.4706, 0.4667]],\\n\\n [[0.2314, 0.1725, 0.1569],\\n [0.2510, 0.1725, 0.1608],\\n [0.2392, 0.1725, 0.1686],\\n ...,\\n [0.4588, 0.4745, 0.4627],\\n [0.4510, 0.4745, 0.4667],\\n [0.4471, 0.4706, 0.4627]],\\n\\n ...,\\n\\n [[0.1569, 0.1647, 0.1843],\\n [0.1647, 0.1725, 0.1882],\\n [0.1490, 0.1686, 0.1922],\\n ...,\\n [0.1020, 0.1137, 0.1373],\\n [0.1137, 0.1176, 0.1412],\\n [0.0863, 0.1176, 0.1373]],\\n\\n [[0.1569, 0.1686, 0.1804],\\n [0.1569, 0.1647, 0.1961],\\n [0.1490, 0.1647, 0.1961],\\n ...,\\n [0.1059, 0.1216, 0.1294],\\n [0.1176, 0.1216, 0.1333],\\n [0.1059, 0.1137, 0.1373]],\\n\\n [[0.1608, 0.1686, 0.1843],\\n [0.1608, 0.1686, 0.1882],\\n [0.1569, 0.1686, 0.1882],\\n ...,\\n [0.1059, 0.1176, 0.1333],\\n [0.1137, 0.1176, 0.1333],\\n [0.1333, 0.1176, 0.1333]]]])'], 'prompt': [\"{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '8': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 10, 'last_link_id': 21, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150.00001507357692, -400.0000238262552], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74980006336742, -99.02780314532481], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15697567127387, -245.70491052281056], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [16]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [17]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [18]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': [30, 'sharp']}, {'id': 8, 'type': 'GeomPackPreviewGaussian', 'pos': [641.9426645917283, -275.4979735998702], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 16}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 17}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 18}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'df6bf3d73d0dda9c6ad7428eb58a00dc8cbaf6ed', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [16, 7, 0, 8, 0, 'STRING'], [17, 7, 1, 8, 1, 'EXTRINSICS'], [18, 7, 2, 8, 2, 'INTRINSICS'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1.1, 'offset': [292.8560303656579, 525.3669699599554]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}\"]}, 'current_outputs': ['9', '2', '7', '8'], 'timestamp': 1778448526086}\n Details: Workflow: C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfy-test-run-309qdvjv\\ComfyUI-Sharp\\workflows\\sharp_exif.json\nNode error: SharpPredict", "hardware": {"os": "Windows-10-10.0.26100-SP0", "cpu": "Intel64 Family 6 Model 106 Stepping 6, GenuineIntel"}}}; const workflowNames = Object.keys(workflowData); const videoData = {}; diff --git a/dev/windows-portable-cpu/logs/sharp_basic.log b/dev/windows-portable-cpu/logs/sharp_basic.log index 81cd35b..54dec5f 100644 --- a/dev/windows-portable-cpu/logs/sharp_basic.log +++ b/dev/windows-portable-cpu/logs/sharp_basic.log @@ -11,9 +11,9 @@ Capturing execution frames: sharp_basic.json [ComfyUI] Node 1: LoadImage [ComfyUI] Inputs: {"image": "beach.jpg"} [ComfyUI] Inputs: {"image": "beach.jpg"} - [ComfyUI] Node 2: LoadSharpModel - [ComfyUI] Node 2: LoadSharpModel Queuing workflow for execution... + [ComfyUI] Node 2: LoadSharpModel + [ComfyUI] Node 2: LoadSharpModel [ComfyUI] Inputs: {"precision": "auto"} [ComfyUI] Inputs: {"precision": "auto"} [ComfyUI] Node 4: GeomPackPreviewGaussian @@ -24,8 +24,8 @@ Capturing execution frames: sharp_basic.json [ComfyUI] Node 5: SharpPredict [ComfyUI] Inputs: {"focal_length_mm": 30, "output_prefix": "sharp", "model": ["2", 0], "image": ["1", 0]} [ComfyUI] Inputs: {"focal_length_mm": 30, "output_prefix": "sharp", "model": ["2", 0], "image": ["1", 0]} - [ComfyUI] Generated prompt_id: 34c184c8-9710-480d-ad8a-c1226df2416d - [ComfyUI] Generated prompt_id: 34c184c8-9710-480d-ad8a-c1226df2416d + [ComfyUI] Generated prompt_id: 800ec3de-59ee-4884-98d7-008fd47292de + [ComfyUI] Generated prompt_id: 800ec3de-59ee-4884-98d7-008fd47292de [ComfyUI] Calling execution.validate_prompt()... [ComfyUI] Calling execution.validate_prompt()... [ComfyUI] Validation result: valid=True @@ -36,28 +36,28 @@ Capturing execution frames: sharp_basic.json [ComfyUI] got prompt [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto' [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto' - [ComfyUI] [comfy-env] SubprocessWorker: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe - [ComfyUI] [comfy-env] SubprocessWorker: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe - [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI'} - [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI'} + [ComfyUI] [comfy-env] SubprocessWorker: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe + [ComfyUI] [comfy-env] SubprocessWorker: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED + [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI'} + [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI'} [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... + [ComfyUI] [ComfyUI-Sharp] python: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe + [ComfyUI] [ComfyUI-Sharp] python: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs - [ComfyUI] [ComfyUI-Sharp] python: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe - [ComfyUI] [ComfyUI-Sharp] python: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe - [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp'] - [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp'] - [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe - [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe - [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\runneradmin\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py', 'tcp://127.0.0.1:65343']... - [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\runneradmin\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py', 'tcp://127.0.0.1:65343']... - Frame 2 saved (frame_001.jpg, t=2.3s) - [capture-periodic] freeze=3ms shot=138ms unfreeze=3ms saved=True - [ComfyUI] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\cuda\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\pytorch\c10\cuda\CUDAFunctions.cpp:88.) - [ComfyUI] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\cuda\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\pytorch\c10\cuda\CUDAFunctions.cpp:88.) + [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp'] + [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp'] + [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe + [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe + [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\runneradmin\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py', 'tcp://127.0.0.1:64575']... + [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\runneradmin\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py', 'tcp://127.0.0.1:64575']... + Frame 2 saved (frame_001.jpg, t=2.4s) + [capture-periodic] freeze=9ms shot=175ms unfreeze=7ms saved=True + [ComfyUI] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\cuda\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\pytorch\c10\cuda\CUDAFunctions.cpp:88.) + [ComfyUI] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\cuda\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\pytorch\c10\cuda\CUDAFunctions.cpp:88.) [ComfyUI] return torch._C._cuda_getDeviceCount() > 0 [ComfyUI] return torch._C._cuda_getDeviceCount() > 0 [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available. @@ -72,64 +72,253 @@ Capturing execution frames: sharp_basic.json [ComfyUI] [SubprocessWorker] sending request via socket... [ComfyUI] [SubprocessWorker] call_id=1 sending call_method [ComfyUI] [SubprocessWorker] call_id=1 sending call_method + Frame 3 saved (frame_002.jpg, t=4.8s) + [capture-periodic] freeze=7ms shot=164ms unfreeze=7ms saved=True + [ComfyUI] + [ComfyUI] + [capture-loop] iter=50 t=6.3s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=7 ram=5.7/16.0GB (36%) swap=0.3/2.9GB (11%) cpu=42% browser_rss=0.70GB + [ComfyUI] sharp_2572gikvuh.pt: 0%| | 0.00/2.81G [00:00 - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in - [ComfyUI] import comfy.utils - [ComfyUI] import comfy.utils - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in - [ComfyUI] import safetensors.torch - [ComfyUI] import safetensors.torch - [ComfyUI] ModuleNotFoundError: No module named 'safetensors' - [ComfyUI] ModuleNotFoundError: No module named 'safetensors' + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context + [ComfyUI] return func(*args, **kwargs) + [ComfyUI] return func(*args, **kwargs) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute + [ComfyUI] patcher = _load_sharp_model(model) + [ComfyUI] patcher = _load_sharp_model(model) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model + [ComfyUI] import comfy.model_patcher + [ComfyUI] import comfy.model_patcher + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in + [ComfyUI] import comfy.hooks + [ComfyUI] import comfy.hooks + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in + [ComfyUI] import comfy.lora + [ComfyUI] import comfy.lora + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in + [ComfyUI] import comfy.model_base + [ComfyUI] import comfy.model_base + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in + [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep + [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in + [ComfyUI] from ..sdpose import HeatmapHead + [ComfyUI] from ..sdpose import HeatmapHead + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in + [ComfyUI] from scipy.ndimage import gaussian_filter + [ComfyUI] from scipy.ndimage import gaussian_filter + [ComfyUI] ModuleNotFoundError: No module named 'scipy' + [ComfyUI] ModuleNotFoundError: No module named 'scipy' [ComfyUI] [ComfyUI] [ComfyUI] Traceback (most recent call last): [ComfyUI] Traceback (most recent call last): - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list [ComfyUI] await process_inputs(input_dict, i) [ComfyUI] await process_inputs(input_dict, i) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs [ComfyUI] result = f(**inputs) [ComfyUI] result = f(**inputs) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy [ComfyUI] result = worker.call_method( [ComfyUI] result = worker.call_method( [ComfyUI] module_name=mod, @@ -140,18 +329,78 @@ Capturing execution frames: sharp_basic.json [ComfyUI] timeout=600.0, [ComfyUI] ) [ComfyUI] ) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method - Execution complete (t=3.4s) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method [ComfyUI] raise WorkerError( [ComfyUI] raise WorkerError( - Execution error: {'prompt_id': '11df4844-a8d9-475d-9841-12ca8458f85f', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['1'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in \n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in \n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['4', '5', '2', '1'], 'timestamp': 1778446352358} + [capture-loop] iter=100 t=15.3s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=6.4/16.0GB (40%) swap=0.3/2.9GB (11%) cpu=91% browser_rss=0.73GB [ComfyUI] ...<2 lines>... [ComfyUI] ...<2 lines>... + [ComfyUI] ) + [ComfyUI] ) + [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy' + [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy' + [ComfyUI] + [ComfyUI] + [ComfyUI] Worker traceback: + [ComfyUI] Worker traceback: + [ComfyUI] Traceback (most recent call last): + [ComfyUI] Traceback (most recent call last): + [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main + [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main + [ComfyUI] result = method(**inputs) + [ComfyUI] result = method(**inputs) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED + [ComfyUI] to_return = cls.execute(*args, **kwargs) + [ComfyUI] to_return = cls.execute(*args, **kwargs) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context + [ComfyUI] return func(*args, **kwargs) + [ComfyUI] return func(*args, **kwargs) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute + [ComfyUI] patcher = _load_sharp_model(model) + [ComfyUI] patcher = _load_sharp_model(model) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model + [ComfyUI] import comfy.model_patcher + [ComfyUI] import comfy.model_patcher + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in + [ComfyUI] import comfy.hooks + [ComfyUI] import comfy.hooks + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in + [ComfyUI] import comfy.lora + [ComfyUI] import comfy.lora + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in + [ComfyUI] import comfy.model_base + [ComfyUI] import comfy.model_base + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in + [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep + [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in + [ComfyUI] from ..sdpose import HeatmapHead + [ComfyUI] from ..sdpose import HeatmapHead + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in + [ComfyUI] from scipy.ndimage import gaussian_filter + [ComfyUI] from scipy.ndimage import gaussian_filter + [ComfyUI] ModuleNotFoundError: No module named 'scipy' + [ComfyUI] ModuleNotFoundError: No module named 'scipy' + [ComfyUI] + [ComfyUI] + [ComfyUI] + [ComfyUI] + [ComfyUI] Prompt executed in 14.93 seconds + [ComfyUI] Prompt executed in 14.93 seconds + Execution complete (t=15.7s) + Execution error: {'prompt_id': '76a53094-bb23-4a3c-bc30-1fbb157d736a', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['2', '1'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in \n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in \n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in \n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in \n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in \n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in \n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n ...,\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5137, 0.4627, 0.4275],\n [0.5137, 0.4627, 0.4314],\n [0.5137, 0.4627, 0.4275]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4667, 0.4314],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4667, 0.4314]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392]]]])'], 'prompt': ["{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '4': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 5, 'last_link_id': 10, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [8]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [9]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [10]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 4, 'type': 'GeomPackPreviewGaussian', 'pos': [629.92578125, -322.046875], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 8}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 9}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 10}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'b7df285fc5b3fef7aad434d8b6e8698efed6358b', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [8, 5, 0, 4, 0, 'STRING'], [9, 5, 1, 4, 1, 'EXTRINSICS'], [10, 5, 2, 4, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1, 'offset': [300.79296875, 604.72265625]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['2', '4', '1', '5'], 'timestamp': 1778448517754} Status: FAILED - Error: Workflow execution failed: {'prompt_id': '11df4844-a8d9-475d-9841-12ca8458f85f', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['1'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in \n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in \n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['4', '5', '2', '1'], 'timestamp': 1778446352358} - Details: Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-qe40d4z8\ComfyUI-Sharp\workflows\sharp_basic.json -Node error: LoadSharpModel - [ComfyUI] ) - [ComfyUI] ) - [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'safetensors' \ No newline at end of file + Error: Workflow execution failed: {'prompt_id': '76a53094-bb23-4a3c-bc30-1fbb157d736a', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['2', '1'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in \n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in \n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in \n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in \n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in \n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in \n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n ...,\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5137, 0.4627, 0.4275],\n [0.5137, 0.4627, 0.4314],\n [0.5137, 0.4627, 0.4275]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4667, 0.4314],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4667, 0.4314]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392]]]])'], 'prompt': ["{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '4': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 5, 'last_link_id': 10, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [8]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [9]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [10]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 4, 'type': 'GeomPackPreviewGaussian', 'pos': [629.92578125, -322.046875], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 8}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 9}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 10}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'b7df285fc5b3fef7aad434d8b6e8698efed6358b', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [8, 5, 0, 4, 0, 'STRING'], [9, 5, 1, 4, 1, 'EXTRINSICS'], [10, 5, 2, 4, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1, 'offset': [300.79296875, 604.72265625]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['2', '4', '1', '5'], 'timestamp': 1778448517754} + Details: Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-309qdvjv\ComfyUI-Sharp\workflows\sharp_basic.json +Node error: SharpPredict \ No newline at end of file diff --git a/dev/windows-portable-cpu/logs/sharp_basic_console.log b/dev/windows-portable-cpu/logs/sharp_basic_console.log index 7440ce5..d6e03b1 100644 --- a/dev/windows-portable-cpu/logs/sharp_basic_console.log +++ b/dev/windows-portable-cpu/logs/sharp_basic_console.log @@ -8,13 +8,6 @@ [Console-error] Failed to load resource: the server responded with a status of 404 (Not Found) [Console-error] Failed to load resource: the server responded with a status of 404 (Not Found) [Console-warning] WARNING: Multiple instances of Three.js being imported. -[Console-log] [CompareSMPLBVH] Loading Compare SMPL BVH extension -[Console-log] [CompareSMPLBVH] Loading Compare SMPL BVH extension... -[Console-log] [CompareSMPLBVH] Extension registered: comfy3d.comparesmplbvh -[Console-log] [BVHViewer] Loading BVH Viewer extension -[Console-log] [BVHViewer] Loading BVH viewer extension... -[Console-log] [BVHViewer] Extension registered: comfy3d.bvhviewer -[Console-log] [GeomPack Gaussian] Loading extension... [Console-log] [FBX Preview] Auto-registering for all known FBX preview node types... [Console-log] [UniRig] Loading FBX mesh preview extension... [Console-log] [UniRig] Detected extension folder: ComfyUI-GeometryPack @@ -31,7 +24,15 @@ [Console-log] [UniRig Compare] Loading compare skeleton widget... [Console-log] [UniRig Compare] Detected extension folder: ComfyUI-GeometryPack [Console-log] [UniRig Compare] Compare skeleton widget registered -[Console-log] [GeomPack Multi JS] Loading mesh_preview_multi.js extension +[Console-log] [CompareSMPLBVH] Loading Compare SMPL BVH extension +[Console-log] [CompareSMPLBVH] Loading Compare SMPL BVH extension... +[Console-log] [CompareSMPLBVH] Extension registered: comfy3d.comparesmplbvh +[Console-log] [GeomPack] Loading mesh preview extension... +[Console-log] [GeomPack] Mesh preview extension registered +[Console-log] [GeomPack Gaussian] Loading extension... +[Console-log] [BVHViewer] Loading BVH Viewer extension +[Console-log] [BVHViewer] Loading BVH viewer extension... +[Console-log] [BVHViewer] Extension registered: comfy3d.bvhviewer [Console-log] [GeomPack] Loading VTK.js textured mesh preview extension... [Console-log] [GeomPack] VTK.js textured mesh preview extension registered [Console-log] [GeomPack] Loading UV mesh preview extension... @@ -39,11 +40,10 @@ [Console-log] [FBXAnimationViewer] Loading FBX Animation Viewer extension [Console-log] [FBXAnimationViewer] Loading FBX Animation Viewer extension... [Console-log] [FBXAnimationViewer] Extension registered: comfy3d.fbxanimationviewer +[Console-log] [GeomPack Multi JS] Loading mesh_preview_multi.js extension [Console-log] [UniRig Debug] Loading FBX mesh preview extension... [Console-log] [UniRig Debug] Detected extension folder: ComfyUI-GeometryPack [Console-log] [UniRig Debug] FBX mesh preview extension registered -[Console-log] [GeomPack] Loading mesh preview extension... -[Console-log] [GeomPack] Mesh preview extension registered [Console-log] [VTK Bundle] GLTFImporter included in bundle [Console-warning] [MaskEditor] ComfyApp.open_maskeditor is deprecated. Plugins should migrate to using the command system or direct node context menu integration. [Console-log] [GeomPack] Registering Preview Mesh node @@ -51,8 +51,8 @@ [Console-log] [GeomPack Gaussian] Registering Preview Gaussian node [Console-log] [GaussianViewer] Initialized successfully [Console-log] [GaussianViewer] Ready - waiting for LOAD_MESH message -[Console-warning] [.WebGL-0x5b400183e00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels -[Console-warning] [.WebGL-0x5b400183e00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels -[Console-warning] [.WebGL-0x5b400183e00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels -[Console-warning] [.WebGL-0x5b400183e00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat) +[Console-warning] [.WebGL-0x335400185a00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels +[Console-warning] [.WebGL-0x335400185a00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels +[Console-warning] [.WebGL-0x335400185a00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels +[Console-warning] [.WebGL-0x335400185a00]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat) [Console-log] [comfy-test] graphToPrompt: 4 nodes, missing class_type: [], sample: {"inputs":{"image":"beach.jpg"},"class_type":"LoadImage","_meta":{"title":"Load Image"}} \ No newline at end of file diff --git a/dev/windows-portable-cpu/logs/sharp_basic_resources.csv b/dev/windows-portable-cpu/logs/sharp_basic_resources.csv index 1c29265..c8affa1 100644 --- a/dev/windows-portable-cpu/logs/sharp_basic_resources.csv +++ b/dev/windows-portable-cpu/logs/sharp_basic_resources.csv @@ -1,15 +1,27 @@ # total_ram_gb=16.0 t,ram_gb,vram_gb -0.0,1.38, -1.0,1.38, -2.0,1.38, -3.0,1.38, -4.0,1.38, -5.0,1.38, -6.0,1.38, -7.0,1.38, -8.0,1.38, -9.1,1.41, -10.1,1.85, -11.1,1.9, -12.1,1.94, +0.0,1.37, +1.0,1.37, +2.0,1.37, +3.0,1.37, +4.0,1.37, +5.0,1.37, +6.0,1.37, +7.0,1.37, +8.0,1.37, +9.1,1.37, +10.1,1.44, +11.1,1.84, +12.1,1.9, +13.1,1.93, +14.1,1.95, +15.1,1.99, +16.4,2.34, +17.5,2.45, +18.5,2.53, +19.6,2.69, +20.6,2.77, +21.7,2.9, +22.7,2.78, +23.7,2.16, +24.7,2.01, diff --git a/dev/windows-portable-cpu/logs/sharp_exif.log b/dev/windows-portable-cpu/logs/sharp_exif.log index 1c8f169..f71b0fe 100644 --- a/dev/windows-portable-cpu/logs/sharp_exif.log +++ b/dev/windows-portable-cpu/logs/sharp_exif.log @@ -9,29 +9,29 @@ Capturing execution frames: sharp_exif.json [ComfyUI] Prompt has 4 nodes [ComfyUI] Node 2: LoadSharpModel [ComfyUI] Node 2: LoadSharpModel + [ComfyUI] Inputs: {"precision": "auto"} + [ComfyUI] Inputs: {"precision": "auto"} + [ComfyUI] Node 7: SharpPredict + [ComfyUI] Node 7: SharpPredict + [ComfyUI] Inputs: {"focal_length_mm": ["9", 2], "output_prefix": "sharp", "model": ["2", 0], "image": ["9", 0]} + [ComfyUI] Inputs: {"focal_length_mm": ["9", 2], "output_prefix": "sharp", "model": ["2", 0], "image": ["9", 0]} + [ComfyUI] Node 8: GeomPackPreviewGaussian + [ComfyUI] Node 8: GeomPackPreviewGaussian + [ComfyUI] Inputs: {"preview_gaussian": "", "ply_path": ["7", 0], "extrinsics": ["7", 1], "intrinsics": ["7", 2]} + [ComfyUI] Inputs: {"preview_gaussian": "", "ply_path": ["7", 0], "extrinsics": ["7", 1], "intrinsics": ["7", 2]} + [ComfyUI] Node 9: LoadImageWithExif + [ComfyUI] Node 9: LoadImageWithExif + [ComfyUI] Inputs: {"image": "eth3d.png", "default_focal_mm": 30} + [ComfyUI] Inputs: {"image": "eth3d.png", "default_focal_mm": 30} + [ComfyUI] Generated prompt_id: 0cc5af76-f424-47a5-8a6b-30f97bb0b6c1 + [ComfyUI] Generated prompt_id: 0cc5af76-f424-47a5-8a6b-30f97bb0b6c1 + [ComfyUI] Calling execution.validate_prompt()... + [ComfyUI] Calling execution.validate_prompt()... + [ComfyUI] Validation result: valid=True + [ComfyUI] Validation result: valid=True + [ComfyUI] === Validation PASSED === + [ComfyUI] === Validation PASSED === Queuing workflow for execution... - [ComfyUI] Inputs: {"precision": "auto"} - [ComfyUI] Inputs: {"precision": "auto"} - [ComfyUI] Node 7: SharpPredict - [ComfyUI] Node 7: SharpPredict - [ComfyUI] Inputs: {"focal_length_mm": ["9", 2], "output_prefix": "sharp", "model": ["2", 0], "image": ["9", 0]} - [ComfyUI] Inputs: {"focal_length_mm": ["9", 2], "output_prefix": "sharp", "model": ["2", 0], "image": ["9", 0]} - [ComfyUI] Node 8: GeomPackPreviewGaussian - [ComfyUI] Node 8: GeomPackPreviewGaussian - [ComfyUI] Inputs: {"preview_gaussian": "", "ply_path": ["7", 0], "extrinsics": ["7", 1], "intrinsics": ["7", 2]} - [ComfyUI] Inputs: {"preview_gaussian": "", "ply_path": ["7", 0], "extrinsics": ["7", 1], "intrinsics": ["7", 2]} - [ComfyUI] Node 9: LoadImageWithExif - [ComfyUI] Node 9: LoadImageWithExif - [ComfyUI] Inputs: {"image": "eth3d.png", "default_focal_mm": 30} - [ComfyUI] Inputs: {"image": "eth3d.png", "default_focal_mm": 30} - [ComfyUI] Generated prompt_id: 7b9c94f6-cd67-485f-9bf1-25bfe4d2bc8e - [ComfyUI] Generated prompt_id: 7b9c94f6-cd67-485f-9bf1-25bfe4d2bc8e - [ComfyUI] Calling execution.validate_prompt()... - [ComfyUI] Calling execution.validate_prompt()... - [ComfyUI] Validation result: valid=True - [ComfyUI] Validation result: valid=True - [ComfyUI] === Validation PASSED === - [ComfyUI] === Validation PASSED === [ComfyUI] got prompt [ComfyUI] got prompt [ComfyUI] [comfy-env] Running LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0 @@ -52,12 +52,12 @@ Capturing execution frames: sharp_exif.json [ComfyUI] [SubprocessWorker] created 0 shm blocks [ComfyUI] [SubprocessWorker] sending request via socket... [ComfyUI] [SubprocessWorker] sending request via socket... - [ComfyUI] [SubprocessWorker] call_id=2 sending call_method - [ComfyUI] [SubprocessWorker] call_id=2 sending call_method + [ComfyUI] [SubprocessWorker] call_id=3 sending call_method + [ComfyUI] [SubprocessWorker] call_id=3 sending call_method [ComfyUI] [SubprocessWorker] got response: ok [ComfyUI] [SubprocessWorker] got response: ok - [ComfyUI] [comfy-env] LoadImageWithExif done (0.46s): result: NodeOutput - [ComfyUI] [comfy-env] LoadImageWithExif done (0.46s): result: NodeOutput + [ComfyUI] [comfy-env] LoadImageWithExif done (0.51s): result: NodeOutput + [ComfyUI] [comfy-env] LoadImageWithExif done (0.51s): result: NodeOutput [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto' [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto' [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED @@ -76,66 +76,126 @@ Capturing execution frames: sharp_exif.json [ComfyUI] [SubprocessWorker] created 0 shm blocks [ComfyUI] [SubprocessWorker] sending request via socket... [ComfyUI] [SubprocessWorker] sending request via socket... - [ComfyUI] [SubprocessWorker] call_id=3 sending call_method - [ComfyUI] [SubprocessWorker] call_id=3 sending call_method + [ComfyUI] [SubprocessWorker] call_id=4 sending call_method + [ComfyUI] [SubprocessWorker] call_id=4 sending call_method + [ComfyUI] Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. + [ComfyUI] Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. + [ComfyUI] [worker:ComfyUI-Sharp] WARNING: Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. + [ComfyUI] [worker:ComfyUI-Sharp] WARNING: Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. + [ComfyUI] [SubprocessWorker] got response: ok + [ComfyUI] [SubprocessWorker] got response: ok + [ComfyUI] [comfy-env] LoadSharpModel done (0.21s): result: NodeOutput + [ComfyUI] [comfy-env] LoadSharpModel done (0.21s): result: NodeOutput + [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,2022,3040,3] cpu + [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,2022,3040,3] cpu + [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED + [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED + [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... + [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... + [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)... + [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)... + [ComfyUI] [ComfyUI-Sharp] Health check: ok + [ComfyUI] [ComfyUI-Sharp] Health check: ok + [ComfyUI] [SubprocessWorker] worker started/confirmed + [ComfyUI] [SubprocessWorker] worker started/confirmed + [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 2022, 3040, 3]) + [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 2022, 3040, 3]) + [ComfyUI] [SubprocessWorker] serializing kwargs to shm... + [ComfyUI] [SubprocessWorker] serializing kwargs to shm... + [ComfyUI] [SubprocessWorker] created 0 shm blocks + [ComfyUI] [SubprocessWorker] created 0 shm blocks + [ComfyUI] [SubprocessWorker] sending request via socket... + [ComfyUI] [SubprocessWorker] sending request via socket... + [ComfyUI] [SubprocessWorker] call_id=5 sending call_method + [ComfyUI] [SubprocessWorker] call_id=5 sending call_method + [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size'] + [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size'] + [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2022, 3040, 3] + [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2022, 3040, 3] + [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2022, 3040, 3]) + [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2022, 3040, 3]) [ComfyUI] [SubprocessWorker] got response: error [ComfyUI] [SubprocessWorker] got response: error - [ComfyUI] !!! Exception during processing !!! No module named 'safetensors' - [ComfyUI] !!! Exception during processing !!! No module named 'safetensors' + [ComfyUI] !!! Exception during processing !!! No module named 'scipy' + [ComfyUI] !!! Exception during processing !!! No module named 'scipy' [ComfyUI] [ComfyUI] [ComfyUI] Worker traceback: [ComfyUI] Worker traceback: [ComfyUI] Traceback (most recent call last): [ComfyUI] Traceback (most recent call last): - [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_475kh7tp\persistent_worker.py", line 1762, in main - [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_475kh7tp\persistent_worker.py", line 1762, in main + [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main + [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main [ComfyUI] result = method(**inputs) [ComfyUI] result = method(**inputs) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED [ComfyUI] to_return = cls.execute(*args, **kwargs) [ComfyUI] to_return = cls.execute(*args, **kwargs) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 170, in execute - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 170, in execute - [ComfyUI] import comfy.model_management - [ComfyUI] import comfy.model_management - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in - [ComfyUI] import comfy.utils - [ComfyUI] import comfy.utils - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in - [ComfyUI] import safetensors.torch - [ComfyUI] import safetensors.torch - [ComfyUI] ModuleNotFoundError: No module named 'safetensors' - [ComfyUI] ModuleNotFoundError: No module named 'safetensors' + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context + [ComfyUI] return func(*args, **kwargs) + [ComfyUI] return func(*args, **kwargs) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute + [ComfyUI] patcher = _load_sharp_model(model) + [ComfyUI] patcher = _load_sharp_model(model) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model + [ComfyUI] import comfy.model_patcher + [ComfyUI] import comfy.model_patcher + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in + [ComfyUI] import comfy.hooks + [ComfyUI] import comfy.hooks + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in + [ComfyUI] import comfy.lora + [ComfyUI] import comfy.lora + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in + [ComfyUI] import comfy.model_base + [ComfyUI] import comfy.model_base + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in + [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep + [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in + [ComfyUI] from ..sdpose import HeatmapHead + [ComfyUI] from ..sdpose import HeatmapHead + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in + [ComfyUI] from scipy.ndimage import gaussian_filter + [ComfyUI] from scipy.ndimage import gaussian_filter + [ComfyUI] ModuleNotFoundError: No module named 'scipy' + [ComfyUI] ModuleNotFoundError: No module named 'scipy' [ComfyUI] [ComfyUI] [ComfyUI] Traceback (most recent call last): [ComfyUI] Traceback (most recent call last): - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list [ComfyUI] await process_inputs(input_dict, i) [ComfyUI] await process_inputs(input_dict, i) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs [ComfyUI] result = f(**inputs) [ComfyUI] result = f(**inputs) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy [ComfyUI] result = worker.call_method( [ComfyUI] result = worker.call_method( [ComfyUI] module_name=mod, @@ -146,53 +206,77 @@ Capturing execution frames: sharp_exif.json [ComfyUI] timeout=600.0, [ComfyUI] ) [ComfyUI] ) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method [ComfyUI] raise WorkerError( [ComfyUI] raise WorkerError( [ComfyUI] ...<2 lines>... [ComfyUI] ...<2 lines>... [ComfyUI] ) [ComfyUI] ) - [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'safetensors' - [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'safetensors' + [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy' + [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy' [ComfyUI] [ComfyUI] [ComfyUI] Worker traceback: [ComfyUI] Worker traceback: [ComfyUI] Traceback (most recent call last): [ComfyUI] Traceback (most recent call last): - [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_475kh7tp\persistent_worker.py", line 1762, in main - [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_475kh7tp\persistent_worker.py", line 1762, in main + [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main + [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main [ComfyUI] result = method(**inputs) [ComfyUI] result = method(**inputs) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED [ComfyUI] to_return = cls.execute(*args, **kwargs) [ComfyUI] to_return = cls.execute(*args, **kwargs) - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 170, in execute - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 170, in execute - [ComfyUI] import comfy.model_management - [ComfyUI] import comfy.model_management - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in - [ComfyUI] import comfy.utils - [ComfyUI] import comfy.utils - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in - [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in - [ComfyUI] import safetensors.torch - [ComfyUI] import safetensors.torch - [ComfyUI] ModuleNotFoundError: No module named 'safetensors' - [ComfyUI] ModuleNotFoundError: No module named 'safetensors' + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context + [ComfyUI] return func(*args, **kwargs) + [ComfyUI] return func(*args, **kwargs) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute + [ComfyUI] patcher = _load_sharp_model(model) + [ComfyUI] patcher = _load_sharp_model(model) + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model + [ComfyUI] import comfy.model_patcher + [ComfyUI] import comfy.model_patcher + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in + [ComfyUI] import comfy.hooks + [ComfyUI] import comfy.hooks + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in + [ComfyUI] import comfy.lora + [ComfyUI] import comfy.lora + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in + [ComfyUI] import comfy.model_base + [ComfyUI] import comfy.model_base + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in + [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep + [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in + [ComfyUI] from ..sdpose import HeatmapHead + [ComfyUI] from ..sdpose import HeatmapHead + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in + [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in + [ComfyUI] from scipy.ndimage import gaussian_filter + [ComfyUI] from scipy.ndimage import gaussian_filter + [ComfyUI] ModuleNotFoundError: No module named 'scipy' + [ComfyUI] ModuleNotFoundError: No module named 'scipy' [ComfyUI] [ComfyUI] [ComfyUI] [ComfyUI] - [ComfyUI] Prompt executed in 0.52 seconds - [ComfyUI] Prompt executed in 0.52 seconds - Execution complete (t=0.8s) - Execution error: {'prompt_id': '5f04efd9-0d90-4dd5-a72e-7eb2a64ff167', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['9'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in \n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in \n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['7', '8', '9', '2'], 'timestamp': 1778446359505} + [ComfyUI] Prompt executed in 0.88 seconds + [ComfyUI] Prompt executed in 0.88 seconds + Execution complete (t=1.2s) + Execution error: {'prompt_id': 'dba51357-a72d-4023-8da2-b7d65deca596', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['2', '9'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in \n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in \n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in \n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in \n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in \n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in \n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.2157, 0.1647, 0.1569],\n [0.2275, 0.1608, 0.1608],\n [0.2275, 0.1647, 0.1529],\n ...,\n [0.4471, 0.4745, 0.4863],\n [0.4510, 0.4745, 0.4863],\n [0.4431, 0.4745, 0.4745]],\n\n [[0.2196, 0.1686, 0.1569],\n [0.2314, 0.1647, 0.1608],\n [0.2353, 0.1647, 0.1647],\n ...,\n [0.4549, 0.4784, 0.4706],\n [0.4549, 0.4706, 0.4784],\n [0.4431, 0.4706, 0.4667]],\n\n [[0.2314, 0.1725, 0.1569],\n [0.2510, 0.1725, 0.1608],\n [0.2392, 0.1725, 0.1686],\n ...,\n [0.4588, 0.4745, 0.4627],\n [0.4510, 0.4745, 0.4667],\n [0.4471, 0.4706, 0.4627]],\n\n ...,\n\n [[0.1569, 0.1647, 0.1843],\n [0.1647, 0.1725, 0.1882],\n [0.1490, 0.1686, 0.1922],\n ...,\n [0.1020, 0.1137, 0.1373],\n [0.1137, 0.1176, 0.1412],\n [0.0863, 0.1176, 0.1373]],\n\n [[0.1569, 0.1686, 0.1804],\n [0.1569, 0.1647, 0.1961],\n [0.1490, 0.1647, 0.1961],\n ...,\n [0.1059, 0.1216, 0.1294],\n [0.1176, 0.1216, 0.1333],\n [0.1059, 0.1137, 0.1373]],\n\n [[0.1608, 0.1686, 0.1843],\n [0.1608, 0.1686, 0.1882],\n [0.1569, 0.1686, 0.1882],\n ...,\n [0.1059, 0.1176, 0.1333],\n [0.1137, 0.1176, 0.1333],\n [0.1333, 0.1176, 0.1333]]]])'], 'prompt': ["{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '8': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 10, 'last_link_id': 21, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150.00001507357692, -400.0000238262552], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74980006336742, -99.02780314532481], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15697567127387, -245.70491052281056], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [16]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [17]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [18]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': [30, 'sharp']}, {'id': 8, 'type': 'GeomPackPreviewGaussian', 'pos': [641.9426645917283, -275.4979735998702], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 16}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 17}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 18}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'df6bf3d73d0dda9c6ad7428eb58a00dc8cbaf6ed', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [16, 7, 0, 8, 0, 'STRING'], [17, 7, 1, 8, 1, 'EXTRINSICS'], [18, 7, 2, 8, 2, 'INTRINSICS'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1.1, 'offset': [292.8560303656579, 525.3669699599554]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['9', '2', '7', '8'], 'timestamp': 1778448526086} Status: FAILED - Error: Workflow execution failed: {'prompt_id': '5f04efd9-0d90-4dd5-a72e-7eb2a64ff167', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['9'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in \n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in \n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['7', '8', '9', '2'], 'timestamp': 1778446359505} - Details: Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-qe40d4z8\ComfyUI-Sharp\workflows\sharp_exif.json -Node error: LoadSharpModel \ No newline at end of file + Error: Workflow execution failed: {'prompt_id': 'dba51357-a72d-4023-8da2-b7d65deca596', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['2', '9'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in \n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in \n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in \n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in \n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in \n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in \n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.2157, 0.1647, 0.1569],\n [0.2275, 0.1608, 0.1608],\n [0.2275, 0.1647, 0.1529],\n ...,\n [0.4471, 0.4745, 0.4863],\n [0.4510, 0.4745, 0.4863],\n [0.4431, 0.4745, 0.4745]],\n\n [[0.2196, 0.1686, 0.1569],\n [0.2314, 0.1647, 0.1608],\n [0.2353, 0.1647, 0.1647],\n ...,\n [0.4549, 0.4784, 0.4706],\n [0.4549, 0.4706, 0.4784],\n [0.4431, 0.4706, 0.4667]],\n\n [[0.2314, 0.1725, 0.1569],\n [0.2510, 0.1725, 0.1608],\n [0.2392, 0.1725, 0.1686],\n ...,\n [0.4588, 0.4745, 0.4627],\n [0.4510, 0.4745, 0.4667],\n [0.4471, 0.4706, 0.4627]],\n\n ...,\n\n [[0.1569, 0.1647, 0.1843],\n [0.1647, 0.1725, 0.1882],\n [0.1490, 0.1686, 0.1922],\n ...,\n [0.1020, 0.1137, 0.1373],\n [0.1137, 0.1176, 0.1412],\n [0.0863, 0.1176, 0.1373]],\n\n [[0.1569, 0.1686, 0.1804],\n [0.1569, 0.1647, 0.1961],\n [0.1490, 0.1647, 0.1961],\n ...,\n [0.1059, 0.1216, 0.1294],\n [0.1176, 0.1216, 0.1333],\n [0.1059, 0.1137, 0.1373]],\n\n [[0.1608, 0.1686, 0.1843],\n [0.1608, 0.1686, 0.1882],\n [0.1569, 0.1686, 0.1882],\n ...,\n [0.1059, 0.1176, 0.1333],\n [0.1137, 0.1176, 0.1333],\n [0.1333, 0.1176, 0.1333]]]])'], 'prompt': ["{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '8': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 10, 'last_link_id': 21, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150.00001507357692, -400.0000238262552], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74980006336742, -99.02780314532481], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15697567127387, -245.70491052281056], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [16]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [17]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [18]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': [30, 'sharp']}, {'id': 8, 'type': 'GeomPackPreviewGaussian', 'pos': [641.9426645917283, -275.4979735998702], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 16}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 17}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 18}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'df6bf3d73d0dda9c6ad7428eb58a00dc8cbaf6ed', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [16, 7, 0, 8, 0, 'STRING'], [17, 7, 1, 8, 1, 'EXTRINSICS'], [18, 7, 2, 8, 2, 'INTRINSICS'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1.1, 'offset': [292.8560303656579, 525.3669699599554]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['9', '2', '7', '8'], 'timestamp': 1778448526086} + Details: Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-309qdvjv\ComfyUI-Sharp\workflows\sharp_exif.json +Node error: SharpPredict \ No newline at end of file diff --git a/dev/windows-portable-cpu/logs/sharp_exif_console.log b/dev/windows-portable-cpu/logs/sharp_exif_console.log index f8c931a..70badc9 100644 --- a/dev/windows-portable-cpu/logs/sharp_exif_console.log +++ b/dev/windows-portable-cpu/logs/sharp_exif_console.log @@ -20,31 +20,31 @@ [Console-log] [MotionCapture] Loading FBX mesh preview extension... [Console-log] [MotionCapture] Detected extension folder: ComfyUI-GeometryPack [Console-log] [MotionCapture] FBX mesh preview extension registered -[Console-log] [UniRig Debug] Loading FBX mesh preview extension... -[Console-log] [UniRig Debug] Detected extension folder: ComfyUI-GeometryPack -[Console-log] [UniRig Debug] FBX mesh preview extension registered [Console-log] [CompareSMPLBVH] Loading Compare SMPL BVH extension [Console-log] [CompareSMPLBVH] Loading Compare SMPL BVH extension... [Console-log] [CompareSMPLBVH] Extension registered: comfy3d.comparesmplbvh -[Console-log] [GeomPack Multi JS] Loading mesh_preview_multi.js extension -[Console-log] [GeomPack] Loading VTK.js textured mesh preview extension... -[Console-log] [GeomPack] VTK.js textured mesh preview extension registered -[Console-log] [UniRig Compare] Loading compare skeleton widget... -[Console-log] [UniRig Compare] Detected extension folder: ComfyUI-GeometryPack -[Console-log] [UniRig Compare] Compare skeleton widget registered -[Console-log] [GeomPack] Loading mesh preview extension... -[Console-log] [GeomPack] Mesh preview extension registered [Console-log] [FBXAnimationViewer] Loading FBX Animation Viewer extension [Console-log] [FBXAnimationViewer] Loading FBX Animation Viewer extension... [Console-log] [FBXAnimationViewer] Extension registered: comfy3d.fbxanimationviewer -[Console-log] [GeomPack] Loading UV mesh preview extension... -[Console-log] [GeomPack] UV mesh preview extension registered -[Console-log] [GeomPack Gaussian] Loading extension... +[Console-log] [GeomPack] Loading mesh preview extension... +[Console-log] [GeomPack] Mesh preview extension registered +[Console-log] [GeomPack Multi JS] Loading mesh_preview_multi.js extension [Console-log] [BVHViewer] Loading BVH Viewer extension [Console-log] [BVHViewer] Loading BVH viewer extension... [Console-log] [BVHViewer] Extension registered: comfy3d.bvhviewer -[Console-log] [VTK Bundle] GLTFImporter included in bundle +[Console-log] [UniRig Compare] Loading compare skeleton widget... +[Console-log] [UniRig Compare] Detected extension folder: ComfyUI-GeometryPack +[Console-log] [UniRig Compare] Compare skeleton widget registered +[Console-log] [UniRig Debug] Loading FBX mesh preview extension... +[Console-log] [UniRig Debug] Detected extension folder: ComfyUI-GeometryPack +[Console-log] [UniRig Debug] FBX mesh preview extension registered +[Console-log] [GeomPack Gaussian] Loading extension... +[Console-log] [GeomPack] Loading VTK.js textured mesh preview extension... +[Console-log] [GeomPack] VTK.js textured mesh preview extension registered +[Console-log] [GeomPack] Loading UV mesh preview extension... +[Console-log] [GeomPack] UV mesh preview extension registered [Console-warning] WARNING: Multiple instances of Three.js being imported. +[Console-log] [VTK Bundle] GLTFImporter included in bundle [Console-warning] [MaskEditor] ComfyApp.open_maskeditor is deprecated. Plugins should migrate to using the command system or direct node context menu integration. [Console-log] [GeomPack] Registering Preview Mesh node [Console-log] [GeomPack] Registering Preview Mesh UV node diff --git a/dev/windows-portable-cpu/logs/sharp_exif_resources.csv b/dev/windows-portable-cpu/logs/sharp_exif_resources.csv index 8efa788..92995ff 100644 --- a/dev/windows-portable-cpu/logs/sharp_exif_resources.csv +++ b/dev/windows-portable-cpu/logs/sharp_exif_resources.csv @@ -1,9 +1,10 @@ # total_ram_gb=16.0 t,ram_gb,vram_gb -0.0,1.96, -1.1,1.96, -2.1,1.96, -3.1,1.96, -4.1,1.96, -5.1,1.96, -6.1,1.96, +0.0,2.01, +1.0,2.01, +2.0,2.01, +3.0,2.01, +4.0,2.01, +5.0,2.01, +6.0,2.01, +7.0,2.07, diff --git a/dev/windows-portable-cpu/models.json b/dev/windows-portable-cpu/models.json index 0bfd1fc..b3f4770 100644 --- a/dev/windows-portable-cpu/models.json +++ b/dev/windows-portable-cpu/models.json @@ -1,11 +1,40 @@ { - "models_dir": "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\models", + "models_dir": "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\models", "summary": { - "total_files": 8, - "total_size_bytes": 19659992, - "total_size_human": "18.7 MB" + "total_files": 12, + "total_size_bytes": 2829398547, + "total_size_human": "2.6 GB" }, "folders": { + "sharp": { + "total_size_bytes": 2809738555, + "total_size_human": "2.6 GB", + "source": { + "type": "unknown" + }, + "files": [ + { + "path": "sharp_2572gikvuh.pt", + "size_bytes": 2809738232, + "size_human": "2.6 GB" + }, + { + "path": ".cache\\huggingface\\CACHEDIR.TAG", + "size_bytes": 195, + "size_human": "195.0 B" + }, + { + "path": ".cache\\huggingface\\download\\sharp_2572gikvuh.pt.metadata", + "size_bytes": 127, + "size_human": "127.0 B" + }, + { + "path": ".cache\\huggingface\\.gitignore", + "size_bytes": 1, + "size_human": "1.0 B" + } + ] + }, "vae_approx": { "total_size_bytes": 19659992, "total_size_human": "18.7 MB", diff --git a/dev/windows-portable-cpu/results.json b/dev/windows-portable-cpu/results.json index 80f2a31..53d5502 100644 --- a/dev/windows-portable-cpu/results.json +++ b/dev/windows-portable-cpu/results.json @@ -1,12 +1,12 @@ { - "timestamp": "2026-05-10T20:52:39.875591+00:00", + "timestamp": "2026-05-10T21:28:46.374324+00:00", "platform": "windows_portable", "hardware": { - "os": "Windows-2025Server-10.0.26100-SP0", - "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD" + "os": "Windows-10-10.0.26100-SP0", + "cpu": "Intel64 Family 6 Model 106 Stepping 6, GenuineIntel" }, - "commit_hash": "6a7e071a9bd9a14e34488422d5125204fb084ce9", - "run_url": "https://github.com/PozzettiAndrea/comfy-gpu-ci/actions/runs/25639230567", + "commit_hash": "b82e1d8162cdd3a2ad2a8c18145fa88434b2306f", + "run_url": "https://github.com/PozzettiAndrea/comfy-gpu-ci/actions/runs/25640100182", "success": false, "summary": { "total": 3, @@ -24,37 +24,37 @@ { "name": "sharp_basic", "status": "fail", - "duration_seconds": 12.21, - "error": "Workflow execution failed: {'prompt_id': '11df4844-a8d9-475d-9841-12ca8458f85f', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['1'], 'exception_message': 'No module named \\'safetensors\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_475kh7tp\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 170, in execute\\n import comfy.model_management\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_management.py\", line 32, in \\n import comfy.utils\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\utils.py\", line 26, in \\n import safetensors.torch\\nModuleNotFoundError: No module named \\'safetensors\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['4', '5', '2', '1'], 'timestamp': 1778446352358}\n\nDetails:\nWorkflow: C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfy-test-run-qe40d4z8\\ComfyUI-Sharp\\workflows\\sharp_basic.json\nNode error: LoadSharpModel", + "duration_seconds": 24.94, + "error": "Workflow execution failed: {'prompt_id': '76a53094-bb23-4a3c-bc30-1fbb157d736a', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['2', '1'], 'exception_message': 'No module named \\'scipy\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_856nmmb6\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 111, in execute\\n patcher = _load_sharp_model(model)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 75, in _load_sharp_model\\n import comfy.model_patcher\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 31, in \\n import comfy.hooks\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in \\n import comfy.lora\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in \\n import comfy.model_base\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 25, in \\n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\diffusionmodules\\\\openaimodel.py\", line 21, in \\n from ..sdpose import HeatmapHead\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\sdpose.py\", line 3, in \\n from scipy.ndimage import gaussian_filter\\nModuleNotFoundError: No module named \\'scipy\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'D:\\\\\\\\a\\\\\\\\comfy-gpu-ci\\\\\\\\comfy-gpu-ci\\\\\\\\test_workspaces\\\\\\\\Sharp-2121\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}\"], 'image': ['tensor([[[[0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n ...,\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000]],\\n\\n [[0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n ...,\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000]],\\n\\n [[0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n [0.0039, 0.4863, 0.9608],\\n ...,\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000],\\n [0.0510, 0.0353, 0.0000]],\\n\\n ...,\\n\\n [[0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n ...,\\n [0.5137, 0.4627, 0.4275],\\n [0.5137, 0.4627, 0.4314],\\n [0.5137, 0.4627, 0.4275]],\\n\\n [[0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n ...,\\n [0.5059, 0.4667, 0.4314],\\n [0.5059, 0.4627, 0.4392],\\n [0.5059, 0.4667, 0.4314]],\\n\\n [[0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n [0.6824, 0.6157, 0.5373],\\n ...,\\n [0.5059, 0.4627, 0.4392],\\n [0.5059, 0.4627, 0.4392],\\n [0.5059, 0.4627, 0.4392]]]])'], 'prompt': [\"{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '4': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 5, 'last_link_id': 10, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [8]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [9]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [10]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 4, 'type': 'GeomPackPreviewGaussian', 'pos': [629.92578125, -322.046875], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 8}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 9}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 10}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'b7df285fc5b3fef7aad434d8b6e8698efed6358b', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [8, 5, 0, 4, 0, 'STRING'], [9, 5, 1, 4, 1, 'EXTRINSICS'], [10, 5, 2, 4, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1, 'offset': [300.79296875, 604.72265625]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}\"]}, 'current_outputs': ['2', '4', '1', '5'], 'timestamp': 1778448517754}\n\nDetails:\nWorkflow: C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfy-test-run-309qdvjv\\ComfyUI-Sharp\\workflows\\sharp_basic.json\nNode error: SharpPredict", "hardware": { - "os": "Windows-2025Server-10.0.26100-SP0", - "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD" + "os": "Windows-10-10.0.26100-SP0", + "cpu": "Intel64 Family 6 Model 106 Stepping 6, GenuineIntel" }, "resources": { "ram": { - "peak": 1.94, - "avg": 1.5 + "peak": 2.9, + "avg": 1.9 }, "total_ram_gb": 16.0, - "samples": 13 + "samples": 25 } }, { "name": "sharp_exif", "status": "fail", - "duration_seconds": 6.91, - "error": "Workflow execution failed: {'prompt_id': '5f04efd9-0d90-4dd5-a72e-7eb2a64ff167', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['9'], 'exception_message': 'No module named \\'safetensors\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_475kh7tp\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 170, in execute\\n import comfy.model_management\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_management.py\", line 32, in \\n import comfy.utils\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\utils.py\", line 26, in \\n import safetensors.torch\\nModuleNotFoundError: No module named \\'safetensors\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2040\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['7', '8', '9', '2'], 'timestamp': 1778446359505}\n\nDetails:\nWorkflow: C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfy-test-run-qe40d4z8\\ComfyUI-Sharp\\workflows\\sharp_exif.json\nNode error: LoadSharpModel", + "duration_seconds": 7.53, + "error": "Workflow execution failed: {'prompt_id': 'dba51357-a72d-4023-8da2-b7d65deca596', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['2', '9'], 'exception_message': 'No module named \\'scipy\\'\\n\\nWorker traceback:\\nTraceback (most recent call last):\\n File \"C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\comfyui_pvenv_856nmmb6\\\\persistent_worker.py\", line 1762, in main\\n result = method(**inputs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy_api\\\\latest\\\\_io.py\", line 1826, in EXECUTE_NORMALIZED\\n to_return = cls.execute(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\.ce\\\\.pixi\\\\envs\\\\sharp-nodes\\\\Lib\\\\site-packages\\\\torch\\\\utils\\\\_contextlib.py\", line 124, in decorate_context\\n return func(*args, **kwargs)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\predict.py\", line 111, in execute\\n patcher = _load_sharp_model(model)\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\custom_nodes\\\\ComfyUI-Sharp\\\\nodes\\\\load_model.py\", line 75, in _load_sharp_model\\n import comfy.model_patcher\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_patcher.py\", line 31, in \\n import comfy.hooks\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\hooks.py\", line 14, in \\n import comfy.lora\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\lora.py\", line 22, in \\n import comfy.model_base\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\model_base.py\", line 25, in \\n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\diffusionmodules\\\\openaimodel.py\", line 21, in \\n from ..sdpose import HeatmapHead\\n File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\comfy\\\\ldm\\\\modules\\\\sdpose.py\", line 3, in \\n from scipy.ndimage import gaussian_filter\\nModuleNotFoundError: No module named \\'scipy\\'\\n\\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 534, in execute\\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 334, in get_output_data\\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 308, in _async_map_node_over_list\\n await process_inputs(input_dict, i)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\execution.py\", line 296, in process_inputs\\n result = f(**inputs)\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\metadata.py\", line 536, in proxy\\n result = worker.call_method(\\n module_name=mod,\\n ...<4 lines>...\\n timeout=600.0,\\n )\\n', ' File \"D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\python_embeded\\\\Lib\\\\site-packages\\\\comfy_env\\\\isolation\\\\workers\\\\subprocess.py\", line 674, in call_method\\n raise WorkerError(\\n ...<2 lines>...\\n )\\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': [\"{'model_path': 'D:\\\\\\\\a\\\\\\\\comfy-gpu-ci\\\\\\\\comfy-gpu-ci\\\\\\\\test_workspaces\\\\\\\\Sharp-2121\\\\\\\\portable-comfyui\\\\\\\\ComfyUI_windows_portable\\\\\\\\ComfyUI\\\\\\\\models\\\\\\\\sharp\\\\\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}\"], 'image': ['tensor([[[[0.2157, 0.1647, 0.1569],\\n [0.2275, 0.1608, 0.1608],\\n [0.2275, 0.1647, 0.1529],\\n ...,\\n [0.4471, 0.4745, 0.4863],\\n [0.4510, 0.4745, 0.4863],\\n [0.4431, 0.4745, 0.4745]],\\n\\n [[0.2196, 0.1686, 0.1569],\\n [0.2314, 0.1647, 0.1608],\\n [0.2353, 0.1647, 0.1647],\\n ...,\\n [0.4549, 0.4784, 0.4706],\\n [0.4549, 0.4706, 0.4784],\\n [0.4431, 0.4706, 0.4667]],\\n\\n [[0.2314, 0.1725, 0.1569],\\n [0.2510, 0.1725, 0.1608],\\n [0.2392, 0.1725, 0.1686],\\n ...,\\n [0.4588, 0.4745, 0.4627],\\n [0.4510, 0.4745, 0.4667],\\n [0.4471, 0.4706, 0.4627]],\\n\\n ...,\\n\\n [[0.1569, 0.1647, 0.1843],\\n [0.1647, 0.1725, 0.1882],\\n [0.1490, 0.1686, 0.1922],\\n ...,\\n [0.1020, 0.1137, 0.1373],\\n [0.1137, 0.1176, 0.1412],\\n [0.0863, 0.1176, 0.1373]],\\n\\n [[0.1569, 0.1686, 0.1804],\\n [0.1569, 0.1647, 0.1961],\\n [0.1490, 0.1647, 0.1961],\\n ...,\\n [0.1059, 0.1216, 0.1294],\\n [0.1176, 0.1216, 0.1333],\\n [0.1059, 0.1137, 0.1373]],\\n\\n [[0.1608, 0.1686, 0.1843],\\n [0.1608, 0.1686, 0.1882],\\n [0.1569, 0.1686, 0.1882],\\n ...,\\n [0.1059, 0.1176, 0.1333],\\n [0.1137, 0.1176, 0.1333],\\n [0.1333, 0.1176, 0.1333]]]])'], 'prompt': [\"{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '8': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}}\"], 'extra_pnginfo': [\"{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 10, 'last_link_id': 21, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150.00001507357692, -400.0000238262552], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74980006336742, -99.02780314532481], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15697567127387, -245.70491052281056], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [16]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [17]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [18]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': [30, 'sharp']}, {'id': 8, 'type': 'GeomPackPreviewGaussian', 'pos': [641.9426645917283, -275.4979735998702], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 16}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 17}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 18}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'df6bf3d73d0dda9c6ad7428eb58a00dc8cbaf6ed', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [16, 7, 0, 8, 0, 'STRING'], [17, 7, 1, 8, 1, 'EXTRINSICS'], [18, 7, 2, 8, 2, 'INTRINSICS'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1.1, 'offset': [292.8560303656579, 525.3669699599554]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}\"]}, 'current_outputs': ['9', '2', '7', '8'], 'timestamp': 1778448526086}\n\nDetails:\nWorkflow: C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfy-test-run-309qdvjv\\ComfyUI-Sharp\\workflows\\sharp_exif.json\nNode error: SharpPredict", "hardware": { - "os": "Windows-2025Server-10.0.26100-SP0", - "cpu": "AMD64 Family 25 Model 1 Stepping 1, AuthenticAMD" + "os": "Windows-10-10.0.26100-SP0", + "cpu": "Intel64 Family 6 Model 106 Stepping 6, GenuineIntel" }, "resources": { "ram": { - "peak": 1.96, - "avg": 1.96 + "peak": 2.07, + "avg": 2.02 }, "total_ram_gb": 16.0, - "samples": 7 + "samples": 8 } } ] diff --git a/dev/windows-portable-cpu/session.log b/dev/windows-portable-cpu/session.log index 727691c..4406303 100644 --- a/dev/windows-portable-cpu/session.log +++ b/dev/windows-portable-cpu/session.log @@ -1,4 +1,4 @@ -[00:00] Crash dump logging enabled: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\Sharp-2040\dev\windows-portable-cpu\crash_dump.log +[00:00] Crash dump logging enabled: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\Sharp-2121\dev\windows-portable-cpu\crash_dump.log [00:00] [00:00] [1/5] SYNTAX [00:00] ---------------------------------------- @@ -19,507 +19,649 @@ Setting up ComfyUI... [00:00] Fetching latest release version... [00:00] Latest version: v0.20.1 [00:00] Downloading portable ComfyUI from https://github.com/comfyanonymous/ComfyUI/releases/download/v0.20.1/ComfyUI_windows_portable_nvidia.7z... -[00:02] Downloaded: 10% -[00:03] Downloaded: 20% -[00:04] Downloaded: 30% -[00:05] Downloaded: 40% -[00:06] Downloaded: 50% -[00:07] Downloaded: 60% -[00:08] Downloaded: 70% -[00:09] Downloaded: 80% -[00:10] Downloaded: 90% -[00:11] Downloaded: 100% -[00:11] Downloaded to C:\Users\runneradmin\.comfy-test\cache\portable\ComfyUI_portable_v0.20.1.7z -[00:11] Extracting to cache: C:\Users\runneradmin\.comfy-test\cache\portable\ComfyUI_portable_v0.20.1 -[00:11] Extracting ComfyUI_portable_v0.20.1.7z... -[00:11] Using 7z: 7z -[02:20] Extracted to C:\Users\runneradmin\.comfy-test\cache\portable\ComfyUI_portable_v0.20.1 -[02:20] Copying from cache to: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui -[05:33] Installing uv into embedded Python... -[05:33] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\python.exe -m pip install uv -[05:36] Installing ComfyUI requirements... -[05:36] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\python.exe -m uv pip install -r D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\requirements.txt -[05:37] +[00:01] Downloaded: 10% +[00:02] Downloaded: 20% +[00:03] Downloaded: 30% +[00:04] Downloaded: 40% +[00:05] Downloaded: 50% +[00:06] Downloaded: 60% +[00:07] Downloaded: 70% +[00:07] Downloaded: 80% +[00:08] Downloaded: 90% +[00:09] Downloaded: 100% +[00:09] Downloaded to C:\Users\runneradmin\.comfy-test\cache\portable\ComfyUI_portable_v0.20.1.7z +[00:09] Extracting to cache: C:\Users\runneradmin\.comfy-test\cache\portable\ComfyUI_portable_v0.20.1 +[00:09] Extracting ComfyUI_portable_v0.20.1.7z... +[00:09] Using 7z: 7z +[02:12] Extracted to C:\Users\runneradmin\.comfy-test\cache\portable\ComfyUI_portable_v0.20.1 +[02:12] Copying from cache to: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui +[02:30] Installing uv into embedded Python... +[02:30] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\python.exe -m pip install uv +[02:32] Installing ComfyUI requirements... +[02:32] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\python.exe -m uv pip install -r D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\requirements.txt +[02:33] Installing custom node... -[05:37] Copying ComfyUI-Sharp to custom_nodes/... -[05:37] Installing node requirements... -[05:37] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\requirements.txt -[05:41] +[02:33] Copying ComfyUI-Sharp to custom_nodes/... +[02:33] Installing node requirements... +[02:33] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\requirements.txt +[02:38] Running install.py... -[05:41] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\python.exe D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\install.py -[05:42] [comfy-env] Enabled Windows long path support -[05:42] -[05:42] Installing 1 node dependencies... -[05:42] Cloning ComfyUI-GeometryPack... -[05:44] Installing requirements for ComfyUI-GeometryPack... -[05:46] Running install.py for ComfyUI-GeometryPack... -[05:46] [comfy-env] Enabled Windows long path support -[05:48] [comfy-env] _discover: scanning D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes -[05:48] [comfy-env] _discover: ComfyUI-GeometryPack -> geometrypack-nodes (custom_nodes\ComfyUI-GeometryPack\nodes\comfy-env.toml) -[05:48] [comfy-env] _discover: ComfyUI-Sharp -> sharp-nodes (custom_nodes\ComfyUI-Sharp\nodes\comfy-env.toml) -[05:48] [comfy-env] Workspace: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce -[05:48] [comfy-env] ComfyUI: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI -[05:48] [comfy-env] Found 2 node config(s): -[05:48] - geometrypack-nodes <- custom_nodes\ComfyUI-GeometryPack\nodes\comfy-env.toml (python=host) -[05:48] - sharp-nodes <- custom_nodes\ComfyUI-Sharp\nodes\comfy-env.toml (python=host) -[05:48] [comfy-env] Bootstrap interpreter has python 3.13 + torch 2.11.0 (cu130). Looking for cuda-only wheels matching cu130/torch2.11/cp313. -[05:51] [comfy-env] GPU: No GPU detected -[05:51] [comfy-env] Comfyui feature -> torch 2.11.0 from https://download.pytorch.org/whl/cu130 (CUDA 13.0 via bootstrap torch) -[05:51] [comfy-env] cuda-wheels: 1 package(s) need a matched (cuda, torch, python) combo: ['cumesh'] -[05:51] [comfy-env] cuda-wheels tier 1 (bootstrap): probing cu13.0/torch2.11/cp313 -[05:51] [cuda-wheels] Looking up cumesh: cu130 torch2.11 cp313 win_amd64 -[05:52] [cuda-wheels] Found: cumesh-0.0.1+cu130torch2.11-cp313-cp313-win_amd64.whl -[05:52] [comfy-env] cuda-wheels combo: cu13.0/torch2.11 (bootstrap matches; per-node envs will pin to this) -[05:52] [comfy-env] Root conda deps from ComfyUI-GeometryPack: ['av', 'ffmpeg'] -[05:52] [comfy-env] Comfyui feature pin: torch ==2.11.0, torchvision ==0.26.*, torchaudio ==2.11.* -[05:52] [comfy-env] Root conda deps (comfyui env only): ['av', 'ffmpeg'] -[05:52] [comfy-env] comfyui env: python 3.13, torch from https://download.pytorch.org/whl/cu130 -[05:52] [cuda-wheels] Looking up cumesh: cu130 torch2.11 cp313 win_amd64 -[05:52] [cuda-wheels] Found: cumesh-0.0.1+cu130torch2.11-cp313-cp313-win_amd64.whl -[05:52] [comfy-env] geometrypack-nodes: cuda-wheels deferred for post-pixi install (cumesh) -[05:52] Generated D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\pixi.toml -[05:52] [comfy-env] Installing 2 environment(s): -[05:52] - geometrypack-nodes (python=host, 13 pypi deps, 1 cuda wheels) -[05:52] - sharp-nodes (python=host, 5 pypi deps) -[05:52] [comfy-env] Running `pixi install --all`... -[07:36] WARN Skipped running the post-link scripts because `run-post-link-scripts` = `false` -[07:36] - Scripts/.librsvg-pre-unlink.bat -[07:36] To enable them, run: -[07:36] pixi config set --local run-post-link-scripts insecure -[07:36] More info: -[07:36] https://pixi.sh/latest/reference/pixi_configuration/#run-post-link-scripts -[07:55] WARN Skipped running the post-link scripts because `run-post-link-scripts` = `false` -[07:55] - Scripts/.librsvg-pre-unlink.bat -[07:55] To enable them, run: -[07:55] pixi config set --local run-post-link-scripts insecure -[07:55] More info: -[07:55] https://pixi.sh/latest/reference/pixi_configuration/#run-post-link-scripts -[08:01] WARN Skipped running the post-link scripts because `run-post-link-scripts` = `false` -[08:01] - Scripts/.librsvg-pre-unlink.bat -[08:01] To enable them, run: -[08:01] pixi config set --local run-post-link-scripts insecure -[08:01] More info: -[08:01] https://pixi.sh/latest/reference/pixi_configuration/#run-post-link-scripts -[10:13] The following environments have been installed: default, comfyui, geometrypack-nodes, sharp-nodes. -[10:14] [comfy-env] Note: env `default` is on disk but no node declares it in this run. Leaving as-is. Remove via `pixi clean --environment default` if intended. -[10:14] [comfy-env] geometrypack-nodes: installing cuda-wheels with --no-deps (cumesh) -[10:14] Using Python 3.13.13 environment at: .pixi\envs\geometrypack-nodes -[10:15] Resolved 1 package in 629ms -[10:15] Downloading cumesh (3.8MiB) -[10:15] Downloaded cumesh -[10:15] Prepared 1 package in 151ms -[10:15] warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance. -[10:15] If the cache and target directories are on different filesystems, hardlinking may not be supported. -[10:15] If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning. -[10:15] Installed 1 package in 26ms -[10:15] + cumesh==0.0.1+cu130torch2.11 (from https://github.com/PozzettiAndrea/cuda-wheels/releases/download/cumesh-latest/cumesh-0.0.1%2Bcu130torch2.11-cp313-cp313-win_amd64.whl) -[10:15] [comfy-env] Install log: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\install.log -[10:15] -[10:15] Installation complete! -[10:17] -[10:17] [requirements] Re-installing main package requirements... -[10:17] Installing requirements for ComfyUI-Sharp... -[10:17] [comfy-env] _discover: scanning D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes -[10:17] [comfy-env] _discover: ComfyUI-GeometryPack -> geometrypack-nodes (custom_nodes\ComfyUI-GeometryPack\nodes\comfy-env.toml) -[10:17] [comfy-env] _discover: ComfyUI-Sharp -> sharp-nodes (custom_nodes\ComfyUI-Sharp\nodes\comfy-env.toml) -[10:17] [comfy-env] Workspace: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce -[10:17] [comfy-env] ComfyUI: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI -[10:17] [comfy-env] Found 2 node config(s): -[10:17] - geometrypack-nodes <- custom_nodes\ComfyUI-GeometryPack\nodes\comfy-env.toml (python=host) -[10:17] - sharp-nodes <- custom_nodes\ComfyUI-Sharp\nodes\comfy-env.toml (python=host) -[10:17] [comfy-env] Bootstrap interpreter has python 3.13 + torch 2.11.0 (cu130). Looking for cuda-only wheels matching cu130/torch2.11/cp313. -[10:21] [comfy-env] GPU: No GPU detected -[10:21] [comfy-env] Comfyui feature -> torch 2.11.0 from https://download.pytorch.org/whl/cu130 (CUDA 13.0 via bootstrap torch) -[10:21] [comfy-env] cuda-wheels: 1 package(s) need a matched (cuda, torch, python) combo: ['cumesh'] -[10:21] [comfy-env] cuda-wheels tier 1 (bootstrap): probing cu13.0/torch2.11/cp313 -[10:21] [cuda-wheels] Looking up cumesh: cu130 torch2.11 cp313 win_amd64 -[10:21] [cuda-wheels] Found: cumesh-0.0.1+cu130torch2.11-cp313-cp313-win_amd64.whl -[10:21] [comfy-env] cuda-wheels combo: cu13.0/torch2.11 (bootstrap matches; per-node envs will pin to this) -[10:21] [comfy-env] Root conda deps from ComfyUI-GeometryPack: ['av', 'ffmpeg'] -[10:21] [comfy-env] Comfyui feature pin: torch ==2.11.0, torchvision ==0.26.*, torchaudio ==2.11.* -[10:21] [comfy-env] Root conda deps (comfyui env only): ['av', 'ffmpeg'] -[10:21] [comfy-env] comfyui env: python 3.13, torch from https://download.pytorch.org/whl/cu130 -[10:21] [cuda-wheels] Looking up cumesh: cu130 torch2.11 cp313 win_amd64 -[10:21] [cuda-wheels] Found: cumesh-0.0.1+cu130torch2.11-cp313-cp313-win_amd64.whl -[10:21] [comfy-env] geometrypack-nodes: cuda-wheels deferred for post-pixi install (cumesh) -[10:21] Generated D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\pixi.toml -[10:21] [comfy-env] Installing 2 environment(s): -[10:21] - geometrypack-nodes (python=host, 13 pypi deps, 1 cuda wheels) -[10:21] - sharp-nodes (python=host, 5 pypi deps) -[10:21] [comfy-env] Running `pixi install --all`... -[10:22] The following environments have been installed: default, comfyui, geometrypack-nodes, sharp-nodes. -[10:22] [comfy-env] Note: env `default` is on disk but no node declares it in this run. Leaving as-is. Remove via `pixi clean --environment default` if intended. -[10:22] [comfy-env] geometrypack-nodes: installing cuda-wheels with --no-deps (cumesh) -[10:22] Using Python 3.13.13 environment at: .pixi\envs\geometrypack-nodes -[10:22] Checked 1 package in 135ms -[10:22] [comfy-env] Install log: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\install.log -[10:22] -[10:22] Installation complete! -[10:22] Installing 1 node dependency(ies)... -[10:22] ComfyUI-GeometryPack from PozzettiAndrea/ComfyUI-GeometryPack -[10:22] ComfyUI-GeometryPack already exists, skipping... -[10:22] Installing validation endpoint... -[10:22] Cloning PozzettiAndrea/ComfyUI-validate-endpoint... -[10:22] Running: git clone --depth 1 https://github.com/PozzettiAndrea/ComfyUI-validate-endpoint.git D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-validate-endpoint -[10:23] [INSTALL] PASSED -[10:23] -[10:23] [3/5] REGISTRATION -[10:23] ---------------------------------------- -[10:23] +[02:38] Running: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\python.exe D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\install.py +[02:38] [comfy-env] Enabled Windows long path support +[02:38] +[02:38] Installing 1 node dependencies... +[02:38] Cloning ComfyUI-GeometryPack... +[02:40] Installing requirements for ComfyUI-GeometryPack... +[02:42] Running install.py for ComfyUI-GeometryPack... +[02:42] [comfy-env] Enabled Windows long path support +[02:44] [comfy-env] _discover: scanning D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes +[02:44] [comfy-env] _discover: ComfyUI-GeometryPack -> geometrypack-nodes (custom_nodes\ComfyUI-GeometryPack\nodes\comfy-env.toml) +[02:44] [comfy-env] _discover: ComfyUI-Sharp -> sharp-nodes (custom_nodes\ComfyUI-Sharp\nodes\comfy-env.toml) +[02:44] [comfy-env] Workspace: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce +[02:44] [comfy-env] ComfyUI: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI +[02:44] [comfy-env] Found 2 node config(s): +[02:44] - geometrypack-nodes <- custom_nodes\ComfyUI-GeometryPack\nodes\comfy-env.toml (python=host) +[02:44] - sharp-nodes <- custom_nodes\ComfyUI-Sharp\nodes\comfy-env.toml (python=host) +[02:44] [comfy-env] Bootstrap interpreter has python 3.13 + torch 2.11.0 (cu130). Looking for cuda-only wheels matching cu130/torch2.11/cp313. +[02:46] [comfy-env] GPU: No GPU detected +[02:46] [comfy-env] Comfyui feature -> torch 2.11.0 from https://download.pytorch.org/whl/cu130 (CUDA 13.0 via bootstrap torch) +[02:46] [comfy-env] cuda-wheels: 1 package(s) need a matched (cuda, torch, python) combo: ['cumesh'] +[02:46] [comfy-env] cuda-wheels tier 1 (bootstrap): probing cu13.0/torch2.11/cp313 +[02:46] [cuda-wheels] Looking up cumesh: cu130 torch2.11 cp313 win_amd64 +[02:46] [cuda-wheels] Found: cumesh-0.0.1+cu130torch2.11-cp313-cp313-win_amd64.whl +[02:46] [comfy-env] cuda-wheels combo: cu13.0/torch2.11 (bootstrap matches; per-node envs will pin to this) +[02:46] [comfy-env] Root conda deps from ComfyUI-GeometryPack: ['av', 'ffmpeg'] +[02:46] [cuda-wheels] Looking up cumesh: cu130 torch2.11 cp313 win_amd64 +[02:47] [cuda-wheels] Found: cumesh-0.0.1+cu130torch2.11-cp313-cp313-win_amd64.whl +[02:47] [comfy-env] geometrypack-nodes: cuda-wheels deferred for post-pixi install (cumesh) +[02:47] Generated D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\pixi.toml +[02:47] [comfy-env] Installing 2 environment(s): +[02:47] - geometrypack-nodes (python=host, 13 pypi deps, 1 cuda wheels) +[02:47] - sharp-nodes (python=host, 8 pypi deps) +[02:47] [comfy-env] Running `pixi install --all`... +[04:14] WARN Skipped running the post-link scripts because `run-post-link-scripts` = `false` +[04:14] - Scripts/.librsvg-pre-unlink.bat +[04:14] To enable them, run: +[04:14] pixi config set --local run-post-link-scripts insecure +[04:14] More info: +[04:14] https://pixi.sh/latest/reference/pixi_configuration/#run-post-link-scripts +[04:22] WARN Skipped running the post-link scripts because `run-post-link-scripts` = `false` +[04:22] - Scripts/.librsvg-pre-unlink.bat +[04:22] To enable them, run: +[04:22] pixi config set --local run-post-link-scripts insecure +[04:22] More info: +[04:22] https://pixi.sh/latest/reference/pixi_configuration/#run-post-link-scripts +[05:19] The following environments have been installed: default, geometrypack-nodes, sharp-nodes. +[05:19] [comfy-env] Note: env `default` is on disk but no node declares it in this run. Leaving as-is. Remove via `pixi clean --environment default` if intended. +[05:19] [comfy-env] geometrypack-nodes: installing cuda-wheels with --no-deps (cumesh) +[05:19] Using Python 3.13.13 environment at: .pixi\envs\geometrypack-nodes +[05:20] Resolved 1 package in 382ms +[05:20] Downloading cumesh (3.8MiB) +[05:20] Downloaded cumesh +[05:20] Prepared 1 package in 95ms +[05:20] warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance. +[05:20] If the cache and target directories are on different filesystems, hardlinking may not be supported. +[05:20] If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning. +[05:20] Installed 1 package in 96ms +[05:20] + cumesh==0.0.1+cu130torch2.11 (from https://github.com/PozzettiAndrea/cuda-wheels/releases/download/cumesh-latest/cumesh-0.0.1%2Bcu130torch2.11-cp313-cp313-win_amd64.whl) +[05:20] [comfy-env] Install log: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\install.log +[05:20] +[05:20] Installation complete! +[05:21] +[05:21] [requirements] Re-installing main package requirements... +[05:21] Installing requirements for ComfyUI-Sharp... +[05:21] [comfy-env] _discover: scanning D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes +[05:21] [comfy-env] _discover: ComfyUI-GeometryPack -> geometrypack-nodes (custom_nodes\ComfyUI-GeometryPack\nodes\comfy-env.toml) +[05:21] [comfy-env] _discover: ComfyUI-Sharp -> sharp-nodes (custom_nodes\ComfyUI-Sharp\nodes\comfy-env.toml) +[05:21] [comfy-env] Workspace: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce +[05:21] [comfy-env] ComfyUI: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI +[05:21] [comfy-env] Found 2 node config(s): +[05:21] - geometrypack-nodes <- custom_nodes\ComfyUI-GeometryPack\nodes\comfy-env.toml (python=host) +[05:21] - sharp-nodes <- custom_nodes\ComfyUI-Sharp\nodes\comfy-env.toml (python=host) +[05:21] [comfy-env] Bootstrap interpreter has python 3.13 + torch 2.11.0 (cu130). Looking for cuda-only wheels matching cu130/torch2.11/cp313. +[05:23] [comfy-env] GPU: No GPU detected +[05:23] [comfy-env] Comfyui feature -> torch 2.11.0 from https://download.pytorch.org/whl/cu130 (CUDA 13.0 via bootstrap torch) +[05:23] [comfy-env] cuda-wheels: 1 package(s) need a matched (cuda, torch, python) combo: ['cumesh'] +[05:23] [comfy-env] cuda-wheels tier 1 (bootstrap): probing cu13.0/torch2.11/cp313 +[05:23] [cuda-wheels] Looking up cumesh: cu130 torch2.11 cp313 win_amd64 +[05:23] [cuda-wheels] Found: cumesh-0.0.1+cu130torch2.11-cp313-cp313-win_amd64.whl +[05:23] [comfy-env] cuda-wheels combo: cu13.0/torch2.11 (bootstrap matches; per-node envs will pin to this) +[05:23] [comfy-env] Root conda deps from ComfyUI-GeometryPack: ['av', 'ffmpeg'] +[05:23] [cuda-wheels] Looking up cumesh: cu130 torch2.11 cp313 win_amd64 +[05:23] [cuda-wheels] Found: cumesh-0.0.1+cu130torch2.11-cp313-cp313-win_amd64.whl +[05:23] [comfy-env] geometrypack-nodes: cuda-wheels deferred for post-pixi install (cumesh) +[05:23] Generated D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\pixi.toml +[05:23] [comfy-env] Installing 2 environment(s): +[05:23] - geometrypack-nodes (python=host, 13 pypi deps, 1 cuda wheels) +[05:23] - sharp-nodes (python=host, 8 pypi deps) +[05:23] [comfy-env] Running `pixi install --all`... +[05:23] The following environments have been installed: default, geometrypack-nodes, sharp-nodes. +[05:23] [comfy-env] Note: env `default` is on disk but no node declares it in this run. Leaving as-is. Remove via `pixi clean --environment default` if intended. +[05:23] [comfy-env] geometrypack-nodes: installing cuda-wheels with --no-deps (cumesh) +[05:24] Using Python 3.13.13 environment at: .pixi\envs\geometrypack-nodes +[05:24] Checked 1 package in 132ms +[05:24] [comfy-env] Install log: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\install.log +[05:24] +[05:24] Installation complete! +[05:24] Installing 1 node dependency(ies)... +[05:24] ComfyUI-GeometryPack from PozzettiAndrea/ComfyUI-GeometryPack +[05:24] ComfyUI-GeometryPack already exists, skipping... +[05:24] Installing validation endpoint... +[05:24] Cloning PozzettiAndrea/ComfyUI-validate-endpoint... +[05:24] Running: git clone --depth 1 https://github.com/PozzettiAndrea/ComfyUI-validate-endpoint.git D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-validate-endpoint +[05:25] [INSTALL] PASSED +[05:25] +[05:25] [3/5] REGISTRATION +[05:25] ---------------------------------------- +[05:25] [DEBUG] server=None, server_url=None, api=None -[10:23] +[05:25] Starting ComfyUI server... -[10:23] Starting ComfyUI server on port 41889... -[10:23] Starting ComfyUI server on port 41889... -[10:23] Waiting for server to be ready (timeout: 600s)... -[10:24] [ComfyUI] setup plugin alembic.autogenerate.schemas -[10:24] [ComfyUI] setup plugin alembic.autogenerate.tables -[10:24] [ComfyUI] setup plugin alembic.autogenerate.types -[10:24] [ComfyUI] setup plugin alembic.autogenerate.constraints -[10:24] [ComfyUI] setup plugin alembic.autogenerate.defaults -[10:24] [ComfyUI] setup plugin alembic.autogenerate.comments -[10:24] [ComfyUI] [comfy-env] ComfyUI-GeometryPack: 1 isolation env(s): -[10:24] [ComfyUI] [comfy-env] nodes -> D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack\nodes -[10:24] [ComfyUI] [comfy-env] prestartup complete -[10:24] [ComfyUI] [comfy-env] ComfyUI-Sharp: 1 isolation env(s): -[10:24] [ComfyUI] [comfy-env] nodes -> D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes -[10:24] [ComfyUI] [comfy-env] prestartup complete -[10:24] [ComfyUI] -[10:24] [ComfyUI] Prestartup times for custom nodes: -[10:24] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp -[10:24] [ComfyUI] 0.4 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack -[10:24] [ComfyUI] -[10:26] [ComfyUI] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\cuda\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\pytorch\c10\cuda\CUDAFunctions.cpp:88.) -[10:26] [ComfyUI] return torch._C._cuda_getDeviceCount() > 0 -[10:28] [ComfyUI] Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4']} -[10:28] [ComfyUI] Found comfy_kitchen backend cuda: {'available': False, 'disabled': False, 'unavailable_reason': 'CUDA not available on this system', 'capabilities': []} -[10:28] [ComfyUI] Found comfy_kitchen backend triton: {'available': False, 'disabled': True, 'unavailable_reason': "ImportError: No module named 'triton'", 'capabilities': []} -[10:28] [ComfyUI] Checkpoint files will always be loaded safely. -[10:28] [ComfyUI] Total VRAM 16379 MB, total RAM 16379 MB -[10:28] [ComfyUI] pytorch version: 2.11.0+cu130 -[10:28] [ComfyUI] Set vram state to: DISABLED -[10:28] [ComfyUI] Device: cpu -[10:28] [ComfyUI] Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention -[10:34] [ComfyUI] Python version: 3.13.12 (tags/v3.13.12:1cbe481, Feb 3 2026, 18:22:25) [MSC v.1944 64 bit (AMD64)] -[10:34] [ComfyUI] ComfyUI version: 0.20.1 -[10:34] [ComfyUI] comfy-aimdo version: 0.2.14 -[10:34] [ComfyUI] comfy-kitchen version: 0.2.8 -[10:34] [ComfyUI] ****** User settings have been changed to be stored on the server instead of browser storage. ****** -[10:34] [ComfyUI] ****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ****** -[10:35] [ComfyUI] ComfyUI frontend version: 1.42.15 -[10:35] [ComfyUI] [Prompt Server] web root: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfyui_frontend_package\static -[10:35] [ComfyUI] Asset seeder disabled -[10:37] [ComfyUI] loading... -[10:37] [ComfyUI] calling register_nodes -[10:37] [ComfyUI] [comfy-env] Version: 0.3.80 -[10:39] [ComfyUI] [comfy-env] register_nodes: ComfyUI-GeometryPack -[10:39] [ComfyUI] [comfy-env] ComfyUI source dir: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI -[10:39] [ComfyUI] [comfy-env] Found 1 isolation env(s) -[10:39] [ComfyUI] [comfy-env] Scanning nodes metadata (isolation root)... -[10:39] [ComfyUI] [comfy-env] geometrypack-nodes: Library/bin has 611 DLLs -[10:39] [ComfyUI] [comfy-env] Metadata scan: C:\Users\runneradmin\.pixi\bin\pixi.exe run --as-is --manifest-path D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\pixi.toml -e geometrypack-nodes python C:\Users\RUNNER~1\AppData\Local\Temp\comfy_meta_cu33_1la.py D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack nodes -[10:39] [ComfyUI] [comfy-env] Scan env PATH for nodes: -[10:39] [ComfyUI] [comfy-env] [0] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\geometrypack-nodes -[10:39] [ComfyUI] [comfy-env] [1] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\geometrypack-nodes\Library\bin -[10:39] [ComfyUI] [comfy-env] [2] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\geometrypack-nodes\Scripts -[10:39] [ComfyUI] [comfy-env] [3] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\geometrypack-nodes\Lib\site-packages\bpy -[10:39] [ComfyUI] [comfy-env] [4] C:\Windows\System32 -[10:39] [ComfyUI] [comfy-env] [5] C:\Windows -[10:39] [ComfyUI] [comfy-env] [6] C:\Windows\System32\Wbem -[10:54] [ComfyUI] [comfy-env] Metadata scan stderr for nodes: -[10:54] [ComfyUI] [comfy-env] [meta-scan] importing nodes from D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack -[10:54] [ComfyUI] [comfy-env] ERROR:root:Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available. -[10:54] [ComfyUI] [comfy-env] [meta-scan] import OK -[10:54] [ComfyUI] [comfy-env] Scanned nodes: 125 nodes (15.3s) -[10:54] [ComfyUI] [comfy-env] Scanned nodes root: 125 nodes (15.4s) -[10:54] [ComfyUI] [comfy-env] Imported nodes root: 125 nodes (isolation) -[10:54] [ComfyUI] [comfy-env] Registered 125 total nodes -[10:54] [ComfyUI] [comfy-env] Version: 0.3.80 -[10:54] [ComfyUI] [comfy-env] register_nodes: ComfyUI-Sharp -[10:54] [ComfyUI] [comfy-env] ComfyUI source dir: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI -[10:54] [ComfyUI] [comfy-env] Found 1 isolation env(s) -[10:54] [ComfyUI] [comfy-env] Scanning nodes metadata (isolation root)... -[10:54] [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs -[10:54] [ComfyUI] [comfy-env] Metadata scan: C:\Users\runneradmin\.pixi\bin\pixi.exe run --as-is --manifest-path D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\pixi.toml -e sharp-nodes python C:\Users\RUNNER~1\AppData\Local\Temp\comfy_meta_99vwzpw7.py D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp nodes -[10:54] [ComfyUI] [comfy-env] Scan env PATH for nodes: -[10:54] [ComfyUI] [comfy-env] [0] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes -[10:54] [ComfyUI] [comfy-env] [1] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Library\bin -[10:54] [ComfyUI] [comfy-env] [2] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Scripts -[10:54] [ComfyUI] [comfy-env] [3] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\bpy -[10:54] [ComfyUI] [comfy-env] [4] C:\Windows\System32 -[10:54] [ComfyUI] [comfy-env] [5] C:\Windows -[10:54] [ComfyUI] [comfy-env] [6] C:\Windows\System32\Wbem -[11:04] [ComfyUI] [comfy-env] Metadata scan stderr for nodes: -[11:04] [ComfyUI] [comfy-env] [meta-scan] importing nodes from D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp -[11:04] [ComfyUI] [comfy-env] [meta-scan] import OK -[11:04] [ComfyUI] [comfy-env] Scanned nodes: 8 nodes (9.4s) -[11:04] [ComfyUI] [comfy-env] Scanned nodes root: 8 nodes (9.5s) -[11:04] [ComfyUI] [comfy-env] Imported nodes root: 8 nodes (isolation) -[11:04] [ComfyUI] [comfy-env] Registered 8 total nodes -[11:04] [ComfyUI] -[11:04] [ComfyUI] Import times for custom nodes: -[11:04] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\websocket_image_save.py -[11:04] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-validate-endpoint -[11:04] [ComfyUI] 9.5 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp -[11:04] [ComfyUI] 17.1 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack -[11:04] [ComfyUI] -[11:04] [ComfyUI] Context impl SQLiteImpl. -[11:04] [ComfyUI] Will assume non-transactional DDL. -[11:04] [ComfyUI] Context impl SQLiteImpl. -[11:04] [ComfyUI] Will assume non-transactional DDL. -[11:04] [ComfyUI] Running upgrade -> 0001_assets, Initial assets schema -[11:04] [ComfyUI] Revision ID: 0001_assets -[11:04] [ComfyUI] Revises: None -[11:04] [ComfyUI] Create Date: 2025-12-10 00:00:00 -[11:04] [ComfyUI] Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table. -[11:04] [ComfyUI] Running upgrade 0002_merge_to_asset_references -> 0003_add_metadata_job_id, Add system_metadata and job_id columns to asset_references. -[11:04] [ComfyUI] Change preview_id FK from assets.id to asset_references.id. -[11:04] [ComfyUI] Database upgraded from None to 0003_add_metadata_job_id -[11:04] [ComfyUI] Starting server -[11:04] [ComfyUI] -[11:04] [ComfyUI] To see the GUI go to: http://127.0.0.1:41889 -[11:05] Server responding, waiting for nodes to load... -[11:25] Server is ready! -[11:25] Checking for import errors in server logs... -[11:25] No import errors detected -[11:25] Found 822 registered nodes -[11:25] [REGISTRATION] PASSED -[11:25] -[11:25] [4/5] INSTANTIATION -[11:25] ---------------------------------------- -[11:25] -[DEBUG] server=, server_url=None, api= -[11:25] Testing node constructors... -[11:28] All 8 node(s) instantiated successfully! -[11:28] [INSTANTIATION] PASSED -[11:28] -[11:28] [5/5] EXECUTION -[11:28] ---------------------------------------- -[11:28] -[DEBUG] server=, server_url=None, api= -[11:28] CPU runner - will execute 2 workflow(s) -[11:28] Running 3 workflow(s) (all with videos)... -[11:29] Installing screenshot dependencies (playwright, pillow)... -[11:31] Packages installed, downloading chromium browser... -[11:46] Screenshot dependencies installed successfully -[11:46] Starting headless browser... -[11:47] Downloading Mesa llvmpipe for Windows... -[11:51] Copied opengl32.dll to Chromium dir -[11:51] Copied libgallium_wgl.dll to Chromium dir -[11:51] Using Mesa llvmpipe (desktop GL) -- multithreaded CPU rendering -[11:52] [1/3] SKIPPED (not in cpu list) pano.json -[11:52] Capturing execution frames: sharp_basic.json -[12:01] Frame 1 saved (frame_000.jpg, t=0.0s) -[12:01] Validating workflow... -[12:01] [ComfyUI] === /validate endpoint called === -[12:01] [ComfyUI] Received JSON with keys: ['prompt'] -[12:01] [ComfyUI] Prompt has 4 nodes -[12:01] [ComfyUI] Node 1: LoadImage -[12:01] [ComfyUI] Inputs: {"image": "beach.jpg"} -[12:01] [ComfyUI] Node 2: LoadSharpModel -[12:01] [ComfyUI] Inputs: {"precision": "auto"} -[12:01] Queuing workflow for execution... -[12:01] [ComfyUI] Node 4: GeomPackPreviewGaussian -[12:01] [ComfyUI] Inputs: {"preview_gaussian": "", "ply_path": ["5", 0], "extrinsics": ["5", 1], "intrinsics": ["5", 2]} -[12:01] [ComfyUI] Node 5: SharpPredict -[12:01] [ComfyUI] Inputs: {"focal_length_mm": 30, "output_prefix": "sharp", "model": ["2", 0], "image": ["1", 0]} -[12:01] [ComfyUI] Generated prompt_id: 34c184c8-9710-480d-ad8a-c1226df2416d -[12:01] [ComfyUI] Calling execution.validate_prompt()... -[12:01] [ComfyUI] Validation result: valid=True -[12:01] [ComfyUI] === Validation PASSED === -[12:01] [ComfyUI] got prompt -[12:01] [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto' -[12:01] [ComfyUI] [comfy-env] SubprocessWorker: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe -[12:01] [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI'} -[12:01] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED -[12:01] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... -[12:01] [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs -[12:01] [ComfyUI] [ComfyUI-Sharp] python: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe -[12:01] [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp'] -[12:01] [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe -[12:01] [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\runneradmin\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py', 'tcp://127.0.0.1:65343']... -[12:03] Frame 2 saved (frame_001.jpg, t=2.3s) -[12:03] [capture-periodic] freeze=3ms shot=138ms unfreeze=3ms saved=True -[12:03] [ComfyUI] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\cuda\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\pytorch\c10\cuda\CUDAFunctions.cpp:88.) -[12:03] [ComfyUI] return torch._C._cuda_getDeviceCount() > 0 -[12:03] [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available. -[12:03] [ComfyUI] [SubprocessWorker] worker started/confirmed -[12:03] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... -[12:03] [ComfyUI] [SubprocessWorker] created 0 shm blocks -[12:03] [ComfyUI] [SubprocessWorker] sending request via socket... -[12:03] [ComfyUI] [SubprocessWorker] call_id=1 sending call_method -[12:04] [ComfyUI] [SubprocessWorker] got response: error -[12:04] [ComfyUI] !!! Exception during processing !!! No module named 'safetensors' -[12:04] [ComfyUI] -[12:04] [ComfyUI] Worker traceback: -[12:04] [ComfyUI] Traceback (most recent call last): -[12:04] [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_475kh7tp\persistent_worker.py", line 1762, in main -[12:04] [ComfyUI] result = method(**inputs) -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED -[12:04] [ComfyUI] to_return = cls.execute(*args, **kwargs) -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 170, in execute -[12:04] [ComfyUI] import comfy.model_management -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in -[12:04] [ComfyUI] import comfy.utils -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in -[12:04] [ComfyUI] import safetensors.torch -[12:04] [ComfyUI] ModuleNotFoundError: No module named 'safetensors' -[12:04] [ComfyUI] -[12:04] [ComfyUI] Traceback (most recent call last): -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute -[12:04] [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) -[12:04] [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data -[12:04] [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) -[12:04] [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list -[12:04] [ComfyUI] await process_inputs(input_dict, i) -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs -[12:04] [ComfyUI] result = f(**inputs) -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy -[12:04] [ComfyUI] result = worker.call_method( -[12:04] [ComfyUI] module_name=mod, -[12:04] [ComfyUI] ...<4 lines>... -[12:04] [ComfyUI] timeout=600.0, -[12:04] [ComfyUI] ) -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method -[12:04] [ComfyUI] raise WorkerError( -[12:04] Execution complete (t=3.4s) -[12:04] [ComfyUI] ...<2 lines>... -[12:04] Execution error: {'prompt_id': '11df4844-a8d9-475d-9841-12ca8458f85f', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['1'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in \n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in \n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['4', '5', '2', '1'], 'timestamp': 1778446352358} -[12:04] [ComfyUI] ) -[12:04] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'safetensors' -[12:04] [ComfyUI] -[12:04] [ComfyUI] Worker traceback: -[12:04] [ComfyUI] Traceback (most recent call last): -[12:04] [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_475kh7tp\persistent_worker.py", line 1762, in main -[12:04] [ComfyUI] result = method(**inputs) -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED -[12:04] [ComfyUI] to_return = cls.execute(*args, **kwargs) -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 170, in execute -[12:04] [ComfyUI] import comfy.model_management -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in -[12:04] [ComfyUI] import comfy.utils -[12:04] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in -[12:04] [ComfyUI] import safetensors.torch -[12:04] [ComfyUI] ModuleNotFoundError: No module named 'safetensors' -[12:04] [ComfyUI] -[12:04] [ComfyUI] -[12:04] [ComfyUI] Prompt executed in 3.17 seconds -[12:04] Capturing execution frames: sharp_exif.json -[12:10] Frame 1 saved (frame_000.jpg, t=0.0s) -[12:10] Validating workflow... -[12:10] [ComfyUI] === /validate endpoint called === -[12:10] [ComfyUI] Received JSON with keys: ['prompt'] -[12:10] [ComfyUI] Prompt has 4 nodes -[12:10] [ComfyUI] Node 2: LoadSharpModel -[12:10] [ComfyUI] Inputs: {"precision": "auto"} -[12:10] Queuing workflow for execution... -[12:10] [ComfyUI] Node 7: SharpPredict -[12:11] [ComfyUI] Inputs: {"focal_length_mm": ["9", 2], "output_prefix": "sharp", "model": ["2", 0], "image": ["9", 0]} -[12:11] [ComfyUI] Node 8: GeomPackPreviewGaussian -[12:11] [ComfyUI] Inputs: {"preview_gaussian": "", "ply_path": ["7", 0], "extrinsics": ["7", 1], "intrinsics": ["7", 2]} -[12:11] [ComfyUI] Node 9: LoadImageWithExif -[12:11] [ComfyUI] Inputs: {"image": "eth3d.png", "default_focal_mm": 30} -[12:11] [ComfyUI] Generated prompt_id: 7b9c94f6-cd67-485f-9bf1-25bfe4d2bc8e -[12:11] [ComfyUI] Calling execution.validate_prompt()... -[12:11] [ComfyUI] Validation result: valid=True -[12:11] [ComfyUI] === Validation PASSED === -[12:11] [ComfyUI] got prompt -[12:11] [ComfyUI] [comfy-env] Running LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0 -[12:11] [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED -[12:11] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... -[12:11] [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)... -[12:11] [ComfyUI] [ComfyUI-Sharp] Health check: ok -[12:11] [ComfyUI] [SubprocessWorker] worker started/confirmed -[12:11] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... -[12:11] [ComfyUI] [SubprocessWorker] created 0 shm blocks -[12:11] [ComfyUI] [SubprocessWorker] sending request via socket... -[12:11] [ComfyUI] [SubprocessWorker] call_id=2 sending call_method -[12:11] [ComfyUI] [SubprocessWorker] got response: ok -[12:11] [ComfyUI] [comfy-env] LoadImageWithExif done (0.46s): result: NodeOutput -[12:11] [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto' -[12:11] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED -[12:11] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... -[12:11] [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)... -[12:11] [ComfyUI] [ComfyUI-Sharp] Health check: ok -[12:11] [ComfyUI] [SubprocessWorker] worker started/confirmed -[12:11] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... -[12:11] [ComfyUI] [SubprocessWorker] created 0 shm blocks -[12:11] [ComfyUI] [SubprocessWorker] sending request via socket... -[12:11] [ComfyUI] [SubprocessWorker] call_id=3 sending call_method -[12:11] [ComfyUI] [SubprocessWorker] got response: error -[12:11] [ComfyUI] !!! Exception during processing !!! No module named 'safetensors' -[12:11] [ComfyUI] -[12:11] [ComfyUI] Worker traceback: -[12:11] [ComfyUI] Traceback (most recent call last): -[12:11] [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_475kh7tp\persistent_worker.py", line 1762, in main -[12:11] [ComfyUI] result = method(**inputs) -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED -[12:11] [ComfyUI] to_return = cls.execute(*args, **kwargs) -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 170, in execute -[12:11] [ComfyUI] import comfy.model_management -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in -[12:11] [ComfyUI] import comfy.utils -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in -[12:11] [ComfyUI] import safetensors.torch -[12:11] [ComfyUI] ModuleNotFoundError: No module named 'safetensors' -[12:11] [ComfyUI] -[12:11] [ComfyUI] Traceback (most recent call last): -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute -[12:11] [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) -[12:11] [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data -[12:11] [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) -[12:11] [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list -[12:11] [ComfyUI] await process_inputs(input_dict, i) -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs -[12:11] [ComfyUI] result = f(**inputs) -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy -[12:11] [ComfyUI] result = worker.call_method( -[12:11] [ComfyUI] module_name=mod, -[12:11] [ComfyUI] ...<4 lines>... -[12:11] [ComfyUI] timeout=600.0, -[12:11] [ComfyUI] ) -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method -[12:11] [ComfyUI] raise WorkerError( -[12:11] [ComfyUI] ...<2 lines>... -[12:11] [ComfyUI] ) -[12:11] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'safetensors' -[12:11] [ComfyUI] -[12:11] [ComfyUI] Worker traceback: -[12:11] [ComfyUI] Traceback (most recent call last): -[12:11] [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_475kh7tp\persistent_worker.py", line 1762, in main -[12:11] [ComfyUI] result = method(**inputs) -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED -[12:11] [ComfyUI] to_return = cls.execute(*args, **kwargs) -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 170, in execute -[12:11] [ComfyUI] import comfy.model_management -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_management.py", line 32, in -[12:11] [ComfyUI] import comfy.utils -[12:11] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2040\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\utils.py", line 26, in -[12:11] [ComfyUI] import safetensors.torch -[12:11] [ComfyUI] ModuleNotFoundError: No module named 'safetensors' -[12:11] [ComfyUI] -[12:11] [ComfyUI] -[12:11] [ComfyUI] Prompt executed in 0.52 seconds -[12:11] Execution complete (t=0.8s) -[12:11] Execution error: {'prompt_id': '5f04efd9-0d90-4dd5-a72e-7eb2a64ff167', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['9'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in \n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in \n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['7', '8', '9', '2'], 'timestamp': 1778446359505} -[12:11] Results saved to D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\Sharp-2040\dev\windows-portable-cpu\results.json -[12:11] Model report: 8 files, 18.7 MB -> D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\Sharp-2040\dev\windows-portable-cpu\models.json -[12:11] Saved: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\Sharp-2040\dev\windows-portable-cpu\index.html -[12:11] +[05:25] Starting ComfyUI server on port 41880... +[05:25] Starting ComfyUI server on port 41880... +[05:25] Waiting for server to be ready (timeout: 600s)... +[05:25] [ComfyUI] setup plugin alembic.autogenerate.schemas +[05:25] [ComfyUI] setup plugin alembic.autogenerate.tables +[05:25] [ComfyUI] setup plugin alembic.autogenerate.types +[05:25] [ComfyUI] setup plugin alembic.autogenerate.constraints +[05:25] [ComfyUI] setup plugin alembic.autogenerate.defaults +[05:25] [ComfyUI] setup plugin alembic.autogenerate.comments +[05:26] [ComfyUI] [comfy-env] ComfyUI-GeometryPack: 1 isolation env(s): +[05:26] [ComfyUI] [comfy-env] nodes -> D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack\nodes +[05:26] [ComfyUI] [comfy-env] prestartup complete +[05:26] [ComfyUI] [comfy-env] ComfyUI-Sharp: 1 isolation env(s): +[05:26] [ComfyUI] [comfy-env] nodes -> D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes +[05:26] [ComfyUI] [comfy-env] prestartup complete +[05:26] [ComfyUI] +[05:26] [ComfyUI] Prestartup times for custom nodes: +[05:26] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp +[05:26] [ComfyUI] 0.4 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack +[05:26] [ComfyUI] +[05:28] [ComfyUI] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\cuda\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\pytorch\c10\cuda\CUDAFunctions.cpp:88.) +[05:28] [ComfyUI] return torch._C._cuda_getDeviceCount() > 0 +[05:29] [ComfyUI] Found comfy_kitchen backend cuda: {'available': False, 'disabled': False, 'unavailable_reason': 'CUDA not available on this system', 'capabilities': []} +[05:29] [ComfyUI] Found comfy_kitchen backend triton: {'available': False, 'disabled': True, 'unavailable_reason': "ImportError: No module named 'triton'", 'capabilities': []} +[05:29] [ComfyUI] Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4']} +[05:29] [ComfyUI] Checkpoint files will always be loaded safely. +[05:29] [ComfyUI] Total VRAM 16383 MB, total RAM 16383 MB +[05:29] [ComfyUI] pytorch version: 2.11.0+cu130 +[05:29] [ComfyUI] Set vram state to: DISABLED +[05:29] [ComfyUI] Device: cpu +[05:30] [ComfyUI] Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention +[05:35] [ComfyUI] Python version: 3.13.12 (tags/v3.13.12:1cbe481, Feb 3 2026, 18:22:25) [MSC v.1944 64 bit (AMD64)] +[05:35] [ComfyUI] ComfyUI version: 0.20.1 +[05:35] [ComfyUI] comfy-aimdo version: 0.2.14 +[05:35] [ComfyUI] comfy-kitchen version: 0.2.8 +[05:35] [ComfyUI] ****** User settings have been changed to be stored on the server instead of browser storage. ****** +[05:35] [ComfyUI] ****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ****** +[05:35] [ComfyUI] ComfyUI frontend version: 1.42.15 +[05:35] [ComfyUI] [Prompt Server] web root: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfyui_frontend_package\static +[05:35] [ComfyUI] Asset seeder disabled +[05:38] [ComfyUI] loading... +[05:38] [ComfyUI] calling register_nodes +[05:38] [ComfyUI] [comfy-env] Version: 0.3.81 +[05:39] [ComfyUI] [comfy-env] register_nodes: ComfyUI-GeometryPack +[05:39] [ComfyUI] [comfy-env] ComfyUI source dir: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI +[05:39] [ComfyUI] [comfy-env] Found 1 isolation env(s) +[05:39] [ComfyUI] [comfy-env] Scanning nodes metadata (isolation root)... +[05:39] [ComfyUI] [comfy-env] geometrypack-nodes: Library/bin has 611 DLLs +[05:39] [ComfyUI] [comfy-env] Metadata scan: C:\Users\runneradmin\.pixi\bin\pixi.exe run --as-is --manifest-path D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\pixi.toml -e geometrypack-nodes python C:\Users\RUNNER~1\AppData\Local\Temp\comfy_meta_r2xzo2g0.py D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack nodes +[05:39] [ComfyUI] [comfy-env] Scan env PATH for nodes: +[05:39] [ComfyUI] [comfy-env] [0] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\geometrypack-nodes +[05:39] [ComfyUI] [comfy-env] [1] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\geometrypack-nodes\Library\bin +[05:39] [ComfyUI] [comfy-env] [2] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\geometrypack-nodes\Scripts +[05:39] [ComfyUI] [comfy-env] [3] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\geometrypack-nodes\Lib\site-packages\bpy +[05:39] [ComfyUI] [comfy-env] [4] C:\Windows\System32 +[05:39] [ComfyUI] [comfy-env] [5] C:\Windows +[05:39] [ComfyUI] [comfy-env] [6] C:\Windows\System32\Wbem +[05:54] [ComfyUI] [comfy-env] Metadata scan stderr for nodes: +[05:54] [ComfyUI] [comfy-env] [meta-scan] importing nodes from D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack +[05:54] [ComfyUI] [comfy-env] ERROR:root:Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available. +[05:54] [ComfyUI] [comfy-env] [meta-scan] import OK +[05:54] [ComfyUI] [comfy-env] Scanned nodes: 125 nodes (14.8s) +[05:54] [ComfyUI] [comfy-env] Scanned nodes root: 125 nodes (14.8s) +[05:54] [ComfyUI] [comfy-env] Imported nodes root: 125 nodes (isolation) +[05:54] [ComfyUI] [comfy-env] Registered 125 total nodes +[05:54] [ComfyUI] [comfy-env] Version: 0.3.81 +[05:54] [ComfyUI] [comfy-env] register_nodes: ComfyUI-Sharp +[05:54] [ComfyUI] [comfy-env] ComfyUI source dir: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI +[05:54] [ComfyUI] [comfy-env] Found 1 isolation env(s) +[05:54] [ComfyUI] [comfy-env] Scanning nodes metadata (isolation root)... +[05:54] [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs +[05:54] [ComfyUI] [comfy-env] Metadata scan: C:\Users\runneradmin\.pixi\bin\pixi.exe run --as-is --manifest-path D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\pixi.toml -e sharp-nodes python C:\Users\RUNNER~1\AppData\Local\Temp\comfy_meta_hdju2zlq.py D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp nodes +[05:54] [ComfyUI] [comfy-env] Scan env PATH for nodes: +[05:54] [ComfyUI] [comfy-env] [0] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes +[05:54] [ComfyUI] [comfy-env] [1] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Library\bin +[05:54] [ComfyUI] [comfy-env] [2] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Scripts +[05:54] [ComfyUI] [comfy-env] [3] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\bpy +[05:54] [ComfyUI] [comfy-env] [4] C:\Windows\System32 +[05:54] [ComfyUI] [comfy-env] [5] C:\Windows +[05:54] [ComfyUI] [comfy-env] [6] C:\Windows\System32\Wbem +[06:03] [ComfyUI] [comfy-env] Metadata scan stderr for nodes: +[06:03] [ComfyUI] [comfy-env] [meta-scan] importing nodes from D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp +[06:03] [ComfyUI] [comfy-env] [meta-scan] import OK +[06:03] [ComfyUI] [comfy-env] Scanned nodes: 8 nodes (8.9s) +[06:03] [ComfyUI] [comfy-env] Scanned nodes root: 8 nodes (8.9s) +[06:03] [ComfyUI] [comfy-env] Imported nodes root: 8 nodes (isolation) +[06:03] [ComfyUI] [comfy-env] Registered 8 total nodes +[06:03] [ComfyUI] +[06:03] [ComfyUI] Import times for custom nodes: +[06:03] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\websocket_image_save.py +[06:03] [ComfyUI] 0.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-validate-endpoint +[06:03] [ComfyUI] 9.0 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp +[06:03] [ComfyUI] 16.6 seconds: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-GeometryPack +[06:03] [ComfyUI] +[06:03] [ComfyUI] Context impl SQLiteImpl. +[06:03] [ComfyUI] Will assume non-transactional DDL. +[06:03] [ComfyUI] Context impl SQLiteImpl. +[06:03] [ComfyUI] Will assume non-transactional DDL. +[06:03] [ComfyUI] Running upgrade -> 0001_assets, Initial assets schema +[06:03] [ComfyUI] Revision ID: 0001_assets +[06:03] [ComfyUI] Revises: None +[06:03] [ComfyUI] Create Date: 2025-12-10 00:00:00 +[06:03] [ComfyUI] Running upgrade 0001_assets -> 0002_merge_to_asset_references, Merge AssetInfo and AssetCacheState into unified asset_references table. +[06:03] [ComfyUI] Running upgrade 0002_merge_to_asset_references -> 0003_add_metadata_job_id, Add system_metadata and job_id columns to asset_references. +[06:03] [ComfyUI] Change preview_id FK from assets.id to asset_references.id. +[06:03] [ComfyUI] Database upgraded from None to 0003_add_metadata_job_id +[06:04] [ComfyUI] Starting server +[06:04] [ComfyUI] +[06:04] [ComfyUI] To see the GUI go to: http://127.0.0.1:41880 +[06:04] Server responding, waiting for nodes to load... +[06:24] Server is ready! +[06:24] Checking for import errors in server logs... +[06:24] No import errors detected +[06:25] Found 822 registered nodes +[06:25] [REGISTRATION] PASSED +[06:25] +[06:25] [4/5] INSTANTIATION +[06:25] ---------------------------------------- +[06:25] +[DEBUG] server=, server_url=None, api= +[06:25] Testing node constructors... +[06:28] All 8 node(s) instantiated successfully! +[06:28] [INSTANTIATION] PASSED +[06:28] +[06:28] [5/5] EXECUTION +[06:28] ---------------------------------------- +[06:28] +[DEBUG] server=, server_url=None, api= +[06:28] CPU runner - will execute 2 workflow(s) +[06:28] Running 3 workflow(s) (all with videos)... +[06:29] Installing screenshot dependencies (playwright, pillow)... +[06:34] Packages installed, downloading chromium browser... +[06:47] Screenshot dependencies installed successfully +[06:47] Starting headless browser... +[06:48] Downloading Mesa llvmpipe for Windows... +[06:52] Copied opengl32.dll to Chromium dir +[06:52] Copied libgallium_wgl.dll to Chromium dir +[06:52] Using Mesa llvmpipe (desktop GL) -- multithreaded CPU rendering +[06:53] [1/3] SKIPPED (not in cpu list) pano.json +[06:53] Capturing execution frames: sharp_basic.json +[07:03] Frame 1 saved (frame_000.jpg, t=0.0s) +[07:03] Validating workflow... +[07:03] [ComfyUI] === /validate endpoint called === +[07:03] [ComfyUI] Received JSON with keys: ['prompt'] +[07:03] [ComfyUI] Prompt has 4 nodes +[07:03] [ComfyUI] Node 1: LoadImage +[07:03] [ComfyUI] Inputs: {"image": "beach.jpg"} +[07:03] [ComfyUI] Node 2: LoadSharpModel +[07:03] [ComfyUI] Inputs: {"precision": "auto"} +[07:03] Queuing workflow for execution... +[07:03] [ComfyUI] Node 4: GeomPackPreviewGaussian +[07:03] [ComfyUI] Inputs: {"preview_gaussian": "", "ply_path": ["5", 0], "extrinsics": ["5", 1], "intrinsics": ["5", 2]} +[07:03] [ComfyUI] Node 5: SharpPredict +[07:03] [ComfyUI] Inputs: {"focal_length_mm": 30, "output_prefix": "sharp", "model": ["2", 0], "image": ["1", 0]} +[07:03] [ComfyUI] Generated prompt_id: 800ec3de-59ee-4884-98d7-008fd47292de +[07:03] [ComfyUI] Calling execution.validate_prompt()... +[07:03] [ComfyUI] Validation result: valid=True +[07:03] [ComfyUI] === Validation PASSED === +[07:03] [ComfyUI] got prompt +[07:03] [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto' +[07:03] [ComfyUI] [comfy-env] SubprocessWorker: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe +[07:03] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED +[07:03] [ComfyUI] [comfy-env] env_vars: {'COMFYUI_BASE': 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI'} +[07:03] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... +[07:03] [ComfyUI] [ComfyUI-Sharp] python: D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe +[07:03] [ComfyUI] [comfy-env] sharp-nodes: Library/bin has 235 DLLs +[07:03] [ComfyUI] [ComfyUI-Sharp] sys_path sent to worker: ['D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp'] +[07:03] [ComfyUI] [SubprocessWorker] is_pixi=True, python=D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\python.exe +[07:03] [ComfyUI] [SubprocessWorker] launching cmd=['C:\\Users\\runneradmin\\.pixi\\bin\\pixi.exe', 'run', '--as-is', '--manifest-path', 'D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\pixi.toml', '-e', 'sharp-nodes', 'python', 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py', 'tcp://127.0.0.1:64575']... +[07:05] Frame 2 saved (frame_001.jpg, t=2.4s) +[07:05] [capture-periodic] freeze=9ms shot=175ms unfreeze=7ms saved=True +[07:06] [ComfyUI] D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\cuda\__init__.py:180: UserWarning: cudaGetDeviceCount() returned cudaErrorNotSupported, likely using older driver or on CPU machine (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\pytorch\c10\cuda\CUDAFunctions.cpp:88.) +[07:06] [ComfyUI] return torch._C._cuda_getDeviceCount() > 0 +[07:06] [ComfyUI] [worker:ComfyUI-Sharp] ERROR: Failed to import comfy_kitchen, Error: No module named 'comfy_kitchen', fp8 and fp4 support will not be available. +[07:06] [ComfyUI] [SubprocessWorker] worker started/confirmed +[07:06] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... +[07:06] [ComfyUI] [SubprocessWorker] created 0 shm blocks +[07:06] [ComfyUI] [SubprocessWorker] sending request via socket... +[07:06] [ComfyUI] [SubprocessWorker] call_id=1 sending call_method +[07:07] Frame 3 saved (frame_002.jpg, t=4.8s) +[07:07] [capture-periodic] freeze=7ms shot=164ms unfreeze=7ms saved=True +[07:08] [ComfyUI] +[07:09] [capture-loop] iter=50 t=6.3s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=7 ram=5.7/16.0GB (36%) swap=0.3/2.9GB (11%) cpu=42% browser_rss=0.70GB +[07:10] [ComfyUI] sharp_2572gikvuh.pt: 0%| | 0.00/2.81G [00:00 +[07:17] [ComfyUI] import comfy.hooks +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in +[07:17] [ComfyUI] import comfy.lora +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in +[07:17] [ComfyUI] import comfy.model_base +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in +[07:17] [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in +[07:17] [ComfyUI] from ..sdpose import HeatmapHead +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in +[07:17] [ComfyUI] from scipy.ndimage import gaussian_filter +[07:17] [ComfyUI] ModuleNotFoundError: No module named 'scipy' +[07:17] [ComfyUI] +[07:17] [ComfyUI] Traceback (most recent call last): +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute +[07:17] [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) +[07:17] [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data +[07:17] [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) +[07:17] [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list +[07:17] [ComfyUI] await process_inputs(input_dict, i) +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs +[07:17] [ComfyUI] result = f(**inputs) +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy +[07:17] [ComfyUI] result = worker.call_method( +[07:17] [ComfyUI] module_name=mod, +[07:17] [ComfyUI] ...<4 lines>... +[07:17] [ComfyUI] timeout=600.0, +[07:17] [ComfyUI] ) +[07:17] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method +[07:17] [ComfyUI] raise WorkerError( +[07:17] [ComfyUI] ...<2 lines>... +[07:17] [capture-loop] iter=100 t=15.3s state={'complete': False, 'error': None, 'executedCount': 0, 'wsState': 1} eval_ms=5 ram=6.4/16.0GB (40%) swap=0.3/2.9GB (11%) cpu=91% browser_rss=0.73GB +[07:18] [ComfyUI] ) +[07:18] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy' +[07:18] [ComfyUI] +[07:18] [ComfyUI] Worker traceback: +[07:18] [ComfyUI] Traceback (most recent call last): +[07:18] [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main +[07:18] [ComfyUI] result = method(**inputs) +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED +[07:18] [ComfyUI] to_return = cls.execute(*args, **kwargs) +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context +[07:18] [ComfyUI] return func(*args, **kwargs) +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute +[07:18] [ComfyUI] patcher = _load_sharp_model(model) +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model +[07:18] [ComfyUI] import comfy.model_patcher +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in +[07:18] [ComfyUI] import comfy.hooks +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in +[07:18] [ComfyUI] import comfy.lora +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in +[07:18] [ComfyUI] import comfy.model_base +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in +[07:18] [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in +[07:18] [ComfyUI] from ..sdpose import HeatmapHead +[07:18] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in +[07:18] [ComfyUI] from scipy.ndimage import gaussian_filter +[07:18] [ComfyUI] ModuleNotFoundError: No module named 'scipy' +[07:18] [ComfyUI] +[07:18] [ComfyUI] +[07:18] [ComfyUI] Prompt executed in 14.93 seconds +[07:18] Execution complete (t=15.7s) +[07:18] Execution error: {'prompt_id': '76a53094-bb23-4a3c-bc30-1fbb157d736a', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['2', '1'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in \n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in \n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in \n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in \n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in \n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in \n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n ...,\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5137, 0.4627, 0.4275],\n [0.5137, 0.4627, 0.4314],\n [0.5137, 0.4627, 0.4275]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4667, 0.4314],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4667, 0.4314]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392]]]])'], 'prompt': ["{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '4': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 5, 'last_link_id': 10, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [8]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [9]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [10]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 4, 'type': 'GeomPackPreviewGaussian', 'pos': [629.92578125, -322.046875], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 8}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 9}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 10}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'b7df285fc5b3fef7aad434d8b6e8698efed6358b', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [8, 5, 0, 4, 0, 'STRING'], [9, 5, 1, 4, 1, 'EXTRINSICS'], [10, 5, 2, 4, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1, 'offset': [300.79296875, 604.72265625]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['2', '4', '1', '5'], 'timestamp': 1778448517754} +[07:18] Capturing execution frames: sharp_exif.json +[07:25] Frame 1 saved (frame_000.jpg, t=0.0s) +[07:25] Validating workflow... +[07:25] [ComfyUI] === /validate endpoint called === +[07:25] [ComfyUI] Received JSON with keys: ['prompt'] +[07:25] [ComfyUI] Prompt has 4 nodes +[07:25] [ComfyUI] Node 2: LoadSharpModel +[07:25] [ComfyUI] Inputs: {"precision": "auto"} +[07:25] [ComfyUI] Node 7: SharpPredict +[07:25] [ComfyUI] Inputs: {"focal_length_mm": ["9", 2], "output_prefix": "sharp", "model": ["2", 0], "image": ["9", 0]} +[07:25] [ComfyUI] Node 8: GeomPackPreviewGaussian +[07:25] [ComfyUI] Inputs: {"preview_gaussian": "", "ply_path": ["7", 0], "extrinsics": ["7", 1], "intrinsics": ["7", 2]} +[07:25] [ComfyUI] Node 9: LoadImageWithExif +[07:25] [ComfyUI] Inputs: {"image": "eth3d.png", "default_focal_mm": 30} +[07:25] [ComfyUI] Generated prompt_id: 0cc5af76-f424-47a5-8a6b-30f97bb0b6c1 +[07:25] [ComfyUI] Calling execution.validate_prompt()... +[07:25] [ComfyUI] Validation result: valid=True +[07:25] [ComfyUI] === Validation PASSED === +[07:25] Queuing workflow for execution... +[07:25] [ComfyUI] got prompt +[07:25] [ComfyUI] [comfy-env] Running LoadImageWithExif: image: 'eth3d.png', default_focal_mm: 30.0 +[07:25] [ComfyUI] [SubprocessWorker] call_method: nodes.load_image_exif.LoadImageWithExif.EXECUTE_NORMALIZED +[07:25] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... +[07:25] [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)... +[07:25] [ComfyUI] [ComfyUI-Sharp] Health check: ok +[07:25] [ComfyUI] [SubprocessWorker] worker started/confirmed +[07:25] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... +[07:25] [ComfyUI] [SubprocessWorker] created 0 shm blocks +[07:25] [ComfyUI] [SubprocessWorker] sending request via socket... +[07:25] [ComfyUI] [SubprocessWorker] call_id=3 sending call_method +[07:25] [ComfyUI] [SubprocessWorker] got response: ok +[07:25] [ComfyUI] [comfy-env] LoadImageWithExif done (0.51s): result: NodeOutput +[07:25] [ComfyUI] [comfy-env] Running LoadSharpModel: precision: 'auto' +[07:25] [ComfyUI] [SubprocessWorker] call_method: nodes.load_model.LoadSharpModel.EXECUTE_NORMALIZED +[07:25] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... +[07:25] [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)... +[07:25] [ComfyUI] [ComfyUI-Sharp] Health check: ok +[07:25] [ComfyUI] [SubprocessWorker] worker started/confirmed +[07:25] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... +[07:25] [ComfyUI] [SubprocessWorker] created 0 shm blocks +[07:25] [ComfyUI] [SubprocessWorker] sending request via socket... +[07:25] [ComfyUI] [SubprocessWorker] call_id=4 sending call_method +[07:26] [ComfyUI] Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. +[07:26] [ComfyUI] [worker:ComfyUI-Sharp] WARNING: Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. +[07:26] [ComfyUI] [SubprocessWorker] got response: ok +[07:26] [ComfyUI] [comfy-env] LoadSharpModel done (0.21s): result: NodeOutput +[07:26] [ComfyUI] [comfy-env] Running SharpPredict: focal_length_mm: 20.0, output_prefix: 'sharp', model: dict, image: torch.float32 [1,2022,3040,3] cpu +[07:26] [ComfyUI] [SubprocessWorker] call_method: nodes.predict.SharpPredict.EXECUTE_NORMALIZED +[07:26] [ComfyUI] [SubprocessWorker] acquired lock, ensuring started... +[07:26] [ComfyUI] [ComfyUI-Sharp] Health check: ping (timeout=5.0s)... +[07:26] [ComfyUI] [ComfyUI-Sharp] Health check: ok +[07:26] [ComfyUI] [SubprocessWorker] worker started/confirmed +[07:26] [ComfyUI] [comfy-env] PRE-SERIALIZE 'image' shape: torch.Size([1, 2022, 3040, 3]) +[07:26] [ComfyUI] [SubprocessWorker] serializing kwargs to shm... +[07:26] [ComfyUI] [SubprocessWorker] created 0 shm blocks +[07:26] [ComfyUI] [SubprocessWorker] sending request via socket... +[07:26] [ComfyUI] [SubprocessWorker] call_id=5 sending call_method +[07:26] [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] _from_shm got dict with keys: ['__type__', 'strategy', 'manager_path', 'storage_key', 'storage_size'] +[07:26] [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZE TensorRef: tensor_size=[1, 2022, 3040, 3] +[07:26] [ComfyUI] [worker:ComfyUI-Sharp] [comfy-env] DESERIALIZED tensor shape: torch.Size([1, 2022, 3040, 3]) +[07:26] [ComfyUI] [SubprocessWorker] got response: error +[07:26] [ComfyUI] !!! Exception during processing !!! No module named 'scipy' +[07:26] [ComfyUI] +[07:26] [ComfyUI] Worker traceback: +[07:26] [ComfyUI] Traceback (most recent call last): +[07:26] [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main +[07:26] [ComfyUI] result = method(**inputs) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED +[07:26] [ComfyUI] to_return = cls.execute(*args, **kwargs) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context +[07:26] [ComfyUI] return func(*args, **kwargs) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute +[07:26] [ComfyUI] patcher = _load_sharp_model(model) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model +[07:26] [ComfyUI] import comfy.model_patcher +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in +[07:26] [ComfyUI] import comfy.hooks +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in +[07:26] [ComfyUI] import comfy.lora +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in +[07:26] [ComfyUI] import comfy.model_base +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in +[07:26] [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in +[07:26] [ComfyUI] from ..sdpose import HeatmapHead +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in +[07:26] [ComfyUI] from scipy.ndimage import gaussian_filter +[07:26] [ComfyUI] ModuleNotFoundError: No module named 'scipy' +[07:26] [ComfyUI] +[07:26] [ComfyUI] Traceback (most recent call last): +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 534, in execute +[07:26] [ComfyUI] output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) +[07:26] [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 334, in get_output_data +[07:26] [ComfyUI] return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) +[07:26] [ComfyUI] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 308, in _async_map_node_over_list +[07:26] [ComfyUI] await process_inputs(input_dict, i) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 296, in process_inputs +[07:26] [ComfyUI] result = f(**inputs) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\metadata.py", line 536, in proxy +[07:26] [ComfyUI] result = worker.call_method( +[07:26] [ComfyUI] module_name=mod, +[07:26] [ComfyUI] ...<4 lines>... +[07:26] [ComfyUI] timeout=600.0, +[07:26] [ComfyUI] ) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\python_embeded\Lib\site-packages\comfy_env\isolation\workers\subprocess.py", line 674, in call_method +[07:26] [ComfyUI] raise WorkerError( +[07:26] [ComfyUI] ...<2 lines>... +[07:26] [ComfyUI] ) +[07:26] [ComfyUI] comfy_env.isolation.workers.base.WorkerError: No module named 'scipy' +[07:26] [ComfyUI] +[07:26] [ComfyUI] Worker traceback: +[07:26] [ComfyUI] Traceback (most recent call last): +[07:26] [ComfyUI] File "C:\Users\RUNNER~1\AppData\Local\Temp\comfyui_pvenv_856nmmb6\persistent_worker.py", line 1762, in main +[07:26] [ComfyUI] result = method(**inputs) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy_api\latest\_io.py", line 1826, in EXECUTE_NORMALIZED +[07:26] [ComfyUI] to_return = cls.execute(*args, **kwargs) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\.ce\.pixi\envs\sharp-nodes\Lib\site-packages\torch\utils\_contextlib.py", line 124, in decorate_context +[07:26] [ComfyUI] return func(*args, **kwargs) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\predict.py", line 111, in execute +[07:26] [ComfyUI] patcher = _load_sharp_model(model) +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Sharp\nodes\load_model.py", line 75, in _load_sharp_model +[07:26] [ComfyUI] import comfy.model_patcher +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_patcher.py", line 31, in +[07:26] [ComfyUI] import comfy.hooks +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\hooks.py", line 14, in +[07:26] [ComfyUI] import comfy.lora +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\lora.py", line 22, in +[07:26] [ComfyUI] import comfy.model_base +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\model_base.py", line 25, in +[07:26] [ComfyUI] from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\diffusionmodules\openaimodel.py", line 21, in +[07:26] [ComfyUI] from ..sdpose import HeatmapHead +[07:26] [ComfyUI] File "D:\a\comfy-gpu-ci\comfy-gpu-ci\test_workspaces\Sharp-2121\portable-comfyui\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\sdpose.py", line 3, in +[07:26] [ComfyUI] from scipy.ndimage import gaussian_filter +[07:26] [ComfyUI] ModuleNotFoundError: No module named 'scipy' +[07:26] [ComfyUI] +[07:26] [ComfyUI] +[07:26] [ComfyUI] Prompt executed in 0.88 seconds +[07:26] Execution complete (t=1.2s) +[07:26] Execution error: {'prompt_id': 'dba51357-a72d-4023-8da2-b7d65deca596', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['2', '9'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in \n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in \n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in \n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in \n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in \n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in \n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.2157, 0.1647, 0.1569],\n [0.2275, 0.1608, 0.1608],\n [0.2275, 0.1647, 0.1529],\n ...,\n [0.4471, 0.4745, 0.4863],\n [0.4510, 0.4745, 0.4863],\n [0.4431, 0.4745, 0.4745]],\n\n [[0.2196, 0.1686, 0.1569],\n [0.2314, 0.1647, 0.1608],\n [0.2353, 0.1647, 0.1647],\n ...,\n [0.4549, 0.4784, 0.4706],\n [0.4549, 0.4706, 0.4784],\n [0.4431, 0.4706, 0.4667]],\n\n [[0.2314, 0.1725, 0.1569],\n [0.2510, 0.1725, 0.1608],\n [0.2392, 0.1725, 0.1686],\n ...,\n [0.4588, 0.4745, 0.4627],\n [0.4510, 0.4745, 0.4667],\n [0.4471, 0.4706, 0.4627]],\n\n ...,\n\n [[0.1569, 0.1647, 0.1843],\n [0.1647, 0.1725, 0.1882],\n [0.1490, 0.1686, 0.1922],\n ...,\n [0.1020, 0.1137, 0.1373],\n [0.1137, 0.1176, 0.1412],\n [0.0863, 0.1176, 0.1373]],\n\n [[0.1569, 0.1686, 0.1804],\n [0.1569, 0.1647, 0.1961],\n [0.1490, 0.1647, 0.1961],\n ...,\n [0.1059, 0.1216, 0.1294],\n [0.1176, 0.1216, 0.1333],\n [0.1059, 0.1137, 0.1373]],\n\n [[0.1608, 0.1686, 0.1843],\n [0.1608, 0.1686, 0.1882],\n [0.1569, 0.1686, 0.1882],\n ...,\n [0.1059, 0.1176, 0.1333],\n [0.1137, 0.1176, 0.1333],\n [0.1333, 0.1176, 0.1333]]]])'], 'prompt': ["{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '8': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 10, 'last_link_id': 21, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150.00001507357692, -400.0000238262552], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74980006336742, -99.02780314532481], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15697567127387, -245.70491052281056], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [16]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [17]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [18]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': [30, 'sharp']}, {'id': 8, 'type': 'GeomPackPreviewGaussian', 'pos': [641.9426645917283, -275.4979735998702], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 16}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 17}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 18}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'df6bf3d73d0dda9c6ad7428eb58a00dc8cbaf6ed', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [16, 7, 0, 8, 0, 'STRING'], [17, 7, 1, 8, 1, 'EXTRINSICS'], [18, 7, 2, 8, 2, 'INTRINSICS'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1.1, 'offset': [292.8560303656579, 525.3669699599554]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['9', '2', '7', '8'], 'timestamp': 1778448526086} +[07:26] Results saved to D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\Sharp-2121\dev\windows-portable-cpu\results.json +[07:26] Model report: 12 files, 2.6 GB -> D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\Sharp-2121\dev\windows-portable-cpu\models.json +[07:26] Saved: D:\a\comfy-gpu-ci\comfy-gpu-ci\comfy-test-logs\Sharp-2121\dev\windows-portable-cpu\index.html +[07:26] windows_portable: FAILED -[12:11] Error: Workflow execution failed (2 error(s)) -[12:11] Details: sharp_basic.json: Workflow execution failed: {'prompt_id': '11df4844-a8d9-475d-9841-12ca8458f85f', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['1'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in \n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in \n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['4', '5', '2', '1'], 'timestamp': 1778446352358} +[07:26] Error: Workflow execution failed (2 error(s)) +[07:26] Details: sharp_basic.json: Workflow execution failed: {'prompt_id': '76a53094-bb23-4a3c-bc30-1fbb157d736a', 'node_id': '5', 'node_type': 'SharpPredict', 'executed': ['2', '1'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in \n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in \n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in \n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in \n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in \n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in \n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [30], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n [[0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n [0.0039, 0.4863, 0.9608],\n ...,\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000],\n [0.0510, 0.0353, 0.0000]],\n\n ...,\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5137, 0.4627, 0.4275],\n [0.5137, 0.4627, 0.4314],\n [0.5137, 0.4627, 0.4275]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4667, 0.4314],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4667, 0.4314]],\n\n [[0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n [0.6824, 0.6157, 0.5373],\n ...,\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392],\n [0.5059, 0.4627, 0.4392]]]])'], 'prompt': ["{'1': {'inputs': {'image': 'beach.jpg'}, 'class_type': 'LoadImage', '_meta': {'title': 'Load Image'}, 'is_changed': ['ee4f94632a5ec7038826e875829a62a81dc2a9b85ed59440f2eaa37b3704fa24']}, '2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '4': {'inputs': {'preview_gaussian': '', 'ply_path': ['5', 0], 'extrinsics': ['5', 1], 'intrinsics': ['5', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '5': {'inputs': {'focal_length_mm': 30.0, 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['1', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 5, 'last_link_id': 10, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150, -400], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [6]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 1, 'type': 'LoadImage', 'pos': [-150, -100], 'size': [274, 340], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'IMAGE', 'type': 'IMAGE', 'links': [7]}, {'name': 'MASK', 'type': 'MASK', 'links': []}], 'properties': {'Node name for S&R': 'LoadImage', 'cnr_id': 'comfy-core', 'ver': '0.5.1'}, 'widgets_values': ['beach.jpg', 'image']}, {'id': 5, 'type': 'SharpPredict', 'pos': [181.546875, -251.55078125], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 6}, {'name': 'image', 'type': 'IMAGE', 'link': 7}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [8]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [9]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [10]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'aa98b213e3d0770477bbf46046094c5cb8ff6052'}, 'widgets_values': [30, 'sharp']}, {'id': 4, 'type': 'GeomPackPreviewGaussian', 'pos': [629.92578125, -322.046875], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 8}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 9}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 10}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'b7df285fc5b3fef7aad434d8b6e8698efed6358b', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[6, 2, 0, 5, 0, 'SHARP_MODEL'], [7, 1, 0, 5, 1, 'IMAGE'], [8, 5, 0, 4, 0, 'STRING'], [9, 5, 1, 4, 1, 'EXTRINSICS'], [10, 5, 2, 4, 2, 'INTRINSICS']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1, 'offset': [300.79296875, 604.72265625]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['2', '4', '1', '5'], 'timestamp': 1778448517754} Details: -Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-qe40d4z8\ComfyUI-Sharp\workflows\sharp_basic.json -Node error: LoadSharpModel -sharp_exif.json: Workflow execution failed: {'prompt_id': '5f04efd9-0d90-4dd5-a72e-7eb2a64ff167', 'node_id': '2', 'node_type': 'LoadSharpModel', 'executed': ['9'], 'exception_message': 'No module named \'safetensors\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_475kh7tp\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 170, in execute\n import comfy.model_management\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_management.py", line 32, in \n import comfy.utils\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\utils.py", line 26, in \n import safetensors.torch\nModuleNotFoundError: No module named \'safetensors\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2040\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'precision': ['auto']}, 'current_outputs': ['7', '8', '9', '2'], 'timestamp': 1778446359505} +Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-309qdvjv\ComfyUI-Sharp\workflows\sharp_basic.json +Node error: SharpPredict +sharp_exif.json: Workflow execution failed: {'prompt_id': 'dba51357-a72d-4023-8da2-b7d65deca596', 'node_id': '7', 'node_type': 'SharpPredict', 'executed': ['2', '9'], 'exception_message': 'No module named \'scipy\'\n\nWorker traceback:\nTraceback (most recent call last):\n File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\comfyui_pvenv_856nmmb6\\persistent_worker.py", line 1762, in main\n result = method(**inputs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy_api\\latest\\_io.py", line 1826, in EXECUTE_NORMALIZED\n to_return = cls.execute(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\.ce\\.pixi\\envs\\sharp-nodes\\Lib\\site-packages\\torch\\utils\\_contextlib.py", line 124, in decorate_context\n return func(*args, **kwargs)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\predict.py", line 111, in execute\n patcher = _load_sharp_model(model)\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\ComfyUI-Sharp\\nodes\\load_model.py", line 75, in _load_sharp_model\n import comfy.model_patcher\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_patcher.py", line 31, in \n import comfy.hooks\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\hooks.py", line 14, in \n import comfy.lora\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\lora.py", line 22, in \n import comfy.model_base\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\model_base.py", line 25, in \n from comfy.ldm.modules.diffusionmodules.openaimodel import UNetModel, Timestep\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\diffusionmodules\\openaimodel.py", line 21, in \n from ..sdpose import HeatmapHead\n File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\comfy\\ldm\\modules\\sdpose.py", line 3, in \n from scipy.ndimage import gaussian_filter\nModuleNotFoundError: No module named \'scipy\'\n\n', 'exception_type': 'comfy_env.isolation.workers.base.WorkerError', 'traceback': [' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 534, in execute\n output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 334, in get_output_data\n return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 308, in _async_map_node_over_list\n await process_inputs(input_dict, i)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\ComfyUI\\execution.py", line 296, in process_inputs\n result = f(**inputs)\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\metadata.py", line 536, in proxy\n result = worker.call_method(\n module_name=mod,\n ...<4 lines>...\n timeout=600.0,\n )\n', ' File "D:\\a\\comfy-gpu-ci\\comfy-gpu-ci\\test_workspaces\\Sharp-2121\\portable-comfyui\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\comfy_env\\isolation\\workers\\subprocess.py", line 674, in call_method\n raise WorkerError(\n ...<2 lines>...\n )\n'], 'current_inputs': {'focal_length_mm': [20], 'output_prefix': ['sharp'], 'model': ["{'model_path': 'D:\\\\a\\\\comfy-gpu-ci\\\\comfy-gpu-ci\\\\test_workspaces\\\\Sharp-2121\\\\portable-comfyui\\\\ComfyUI_windows_portable\\\\ComfyUI\\\\models\\\\sharp\\\\sharp_2572gikvuh.pt', 'precision': 'auto', 'dtype': 'fp32'}"], 'image': ['tensor([[[[0.2157, 0.1647, 0.1569],\n [0.2275, 0.1608, 0.1608],\n [0.2275, 0.1647, 0.1529],\n ...,\n [0.4471, 0.4745, 0.4863],\n [0.4510, 0.4745, 0.4863],\n [0.4431, 0.4745, 0.4745]],\n\n [[0.2196, 0.1686, 0.1569],\n [0.2314, 0.1647, 0.1608],\n [0.2353, 0.1647, 0.1647],\n ...,\n [0.4549, 0.4784, 0.4706],\n [0.4549, 0.4706, 0.4784],\n [0.4431, 0.4706, 0.4667]],\n\n [[0.2314, 0.1725, 0.1569],\n [0.2510, 0.1725, 0.1608],\n [0.2392, 0.1725, 0.1686],\n ...,\n [0.4588, 0.4745, 0.4627],\n [0.4510, 0.4745, 0.4667],\n [0.4471, 0.4706, 0.4627]],\n\n ...,\n\n [[0.1569, 0.1647, 0.1843],\n [0.1647, 0.1725, 0.1882],\n [0.1490, 0.1686, 0.1922],\n ...,\n [0.1020, 0.1137, 0.1373],\n [0.1137, 0.1176, 0.1412],\n [0.0863, 0.1176, 0.1373]],\n\n [[0.1569, 0.1686, 0.1804],\n [0.1569, 0.1647, 0.1961],\n [0.1490, 0.1647, 0.1961],\n ...,\n [0.1059, 0.1216, 0.1294],\n [0.1176, 0.1216, 0.1333],\n [0.1059, 0.1137, 0.1373]],\n\n [[0.1608, 0.1686, 0.1843],\n [0.1608, 0.1686, 0.1882],\n [0.1569, 0.1686, 0.1882],\n ...,\n [0.1059, 0.1176, 0.1333],\n [0.1137, 0.1176, 0.1333],\n [0.1333, 0.1176, 0.1333]]]])'], 'prompt': ["{'2': {'inputs': {'precision': 'auto'}, 'class_type': 'LoadSharpModel', '_meta': {'title': '(Down)Load SHARP Model'}}, '7': {'inputs': {'focal_length_mm': ['9', 2], 'output_prefix': 'sharp', 'model': ['2', 0], 'image': ['9', 0]}, 'class_type': 'SharpPredict', '_meta': {'title': 'SHARP Predict (Image to PLY)'}}, '8': {'inputs': {'preview_gaussian': '', 'ply_path': ['7', 0], 'extrinsics': ['7', 1], 'intrinsics': ['7', 2]}, 'class_type': 'GeomPackPreviewGaussian', '_meta': {'title': 'Preview Gaussian'}}, '9': {'inputs': {'image': 'eth3d.png', 'default_focal_mm': 30.0}, 'class_type': 'LoadImageWithExif', '_meta': {'title': 'Load Image with EXIF (Focal Length)'}}}"], 'extra_pnginfo': ["{'workflow': {'id': 'sharp-basic-workflow', 'revision': 0, 'last_node_id': 10, 'last_link_id': 21, 'nodes': [{'id': 2, 'type': 'LoadSharpModel', 'pos': [-150.00001507357692, -400.0000238262552], 'size': [270, 106.65625], 'flags': {}, 'order': 0, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'model_config', 'type': 'SHARP_MODEL_CONFIG', 'links': [11]}], 'properties': {'Node name for S&R': 'LoadSharpModel', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': '9f1b9c726e2cfc0118866c3df783e7f6bc895226'}, 'widgets_values': ['auto']}, {'id': 9, 'type': 'LoadImageWithExif', 'pos': [-208.74980006336742, -99.02780314532481], 'size': [342.28125, 420], 'flags': {}, 'order': 1, 'mode': 0, 'inputs': [], 'outputs': [{'name': 'image', 'type': 'IMAGE', 'links': [19]}, {'name': 'mask', 'type': 'MASK', 'links': None}, {'name': 'focal_length_mm', 'type': 'FLOAT', 'links': [20]}], 'properties': {'Node name for S&R': 'LoadImageWithExif', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': ['eth3d.png', 30, 'image']}, {'id': 7, 'type': 'SharpPredict', 'pos': [226.15697567127387, -245.70491052281056], 'size': [298.890625, 212], 'flags': {}, 'order': 2, 'mode': 0, 'inputs': [{'name': 'model', 'type': 'SHARP_MODEL_CONFIG', 'link': 11}, {'name': 'image', 'type': 'IMAGE', 'link': 19}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': None}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': None}, {'name': 'focal_length_mm', 'shape': 7, 'type': 'FLOAT', 'widget': {'name': 'focal_length_mm'}, 'link': 20}], 'outputs': [{'name': 'ply_path', 'type': 'STRING', 'links': [16]}, {'name': 'extrinsics', 'type': 'EXTRINSICS', 'links': [17]}, {'name': 'intrinsics', 'type': 'INTRINSICS', 'links': [18]}], 'properties': {'Node name for S&R': 'SharpPredict', 'aux_id': 'PozzettiAndrea/ComfyUI-Sharp', 'ver': 'c69751a59b587c3b83d0e37cfe2bab3bc838574a'}, 'widgets_values': [30, 'sharp']}, {'id': 8, 'type': 'GeomPackPreviewGaussian', 'pos': [641.9426645917283, -275.4979735998702], 'size': [512, 658], 'flags': {}, 'order': 3, 'mode': 0, 'inputs': [{'name': 'ply_path', 'type': 'STRING', 'link': 16}, {'name': 'extrinsics', 'shape': 7, 'type': 'EXTRINSICS', 'link': 17}, {'name': 'intrinsics', 'shape': 7, 'type': 'INTRINSICS', 'link': 18}], 'outputs': [], 'properties': {'Node name for S&R': 'GeomPackPreviewGaussian', 'aux_id': 'PozzettiAndrea/ComfyUI-GeometryPack', 'ver': 'df6bf3d73d0dda9c6ad7428eb58a00dc8cbaf6ed', 'cnr_id': 'comfyui-geometrypack'}, 'widgets_values': ['']}], 'links': [[11, 2, 0, 7, 0, 'SHARP_MODEL'], [16, 7, 0, 8, 0, 'STRING'], [17, 7, 1, 8, 1, 'EXTRINSICS'], [18, 7, 2, 8, 2, 'INTRINSICS'], [19, 9, 0, 7, 1, 'IMAGE'], [20, 9, 2, 7, 4, 'FLOAT']], 'groups': [], 'config': {}, 'extra': {'ds': {'scale': 1.1, 'offset': [292.8560303656579, 525.3669699599554]}, 'workflowRendererVersion': 'LG', 'frontendVersion': '1.42.15'}, 'version': 0.4}}"]}, 'current_outputs': ['9', '2', '7', '8'], 'timestamp': 1778448526086} Details: -Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-qe40d4z8\ComfyUI-Sharp\workflows\sharp_exif.json -Node error: LoadSharpModel -[12:11] Stopping ComfyUI server... +Workflow: C:\Users\RUNNER~1\AppData\Local\Temp\comfy-test-run-309qdvjv\ComfyUI-Sharp\workflows\sharp_exif.json +Node error: SharpPredict +[07:26] Stopping ComfyUI server... diff --git a/dev/windows-portable-cpu/videos/sharp_basic/frame_000.jpg b/dev/windows-portable-cpu/videos/sharp_basic/frame_000.jpg index 3012aedd0698d7404c57fb4c21b1ba9ca4304d01..168a335d112b1f753ad4a6d33579c133f4de56ea 100644 GIT binary patch delta 1438 zcmaEVlkMkCwuUW?GE3@n1MXJ31vT5W$F8wB?|giF)FfLQn|Cv(yybG>;>?+olJHo* z*Wr53r~HgZ+6QigD>EeUeEpkwKR0=*!I9(xjCMIZ>9U{id|$xv?_AW2Lu(Ay6#Z?G z^^NZL6Y@1la#xg53$04GH+;TaG<4n5&r+@&>z=%~IQM4G7n_jf0TXsx%O4e<^zeW} z!y4-z!Cx0xoeVtAWwL4uor(CWt~P;-!FqB*ro!aZ%r(=)*cc^*s{*P5yEq;-h)t~i zn{ia({nrJoll9(+PmgwEOr7kSDK@#SW9wwyH+_5zf%h6Tj+-z*G)$h*AyLoz{_Ens zKrKt*!a#E-1a>hjVBTw4^^g6hRG#H>{d>Qf?7bMWWUS^p&$_VY)>QQp2^PWk4pL>? z%feT3u2cq*KvxFK zU;mhY25E~VobpI0;;4U<@!Hct>?^O^=ir&C`(~U~T6f_HL*b9o*WTqT@7=q7Fu%Cq zya==4G6wEr*42Dl{kj-57NKG-hk}dq{pzForZt#kUCuH;uT!-3>A^{g9XC!CHQ)HQ zre*Gh1OfNG)^Gh^Y++nkU0+_WG3nd0$U8htZ|Bt3+iJ}@qT@U7v1mL{e*aW=m0tCG z_N@#?>t5cPdu`UG*~yZTAv&Ep*-9JOl@%Lhq?WoeMDMt=J}>XytL&LR=Wchi9k;vj z(r4eEdH-In%bQ_xj_ny2+aork!u$7DUvyygu)o^B^50Zh`+t!uzNFjQZlb`oCEk3s^wL)Pv3G zpZt3*#OOs0{BSllYuFCM9Dze616Y{38jCIIZJr@#OJ delta 1301 zcmex)lkNRYwuUW?GE3@p4&SZRR%Ev?ozTWCX;c68<@t1(oOACUnFdraO!7P~^Wblm z{kGH3Ihht5W4pU2fhXCvu)ivPoB3UX<4<$BpZ>Y=dVb8;?+e&GSqfuKf=)Q;TQ@z~ zE>rkEcx^-Vw(c`p4Llp;9F-gUqdMXYb_j1Vw0@`l?EJ&~+p|LUP1EE)BD!L6+1n*~ zl3$;ze_g{D7H|s-Y&5Ix3FWGpWHP_v zpU5c&jYVAy#b5uhe_9fzad66n15X5RT)Z}^LHCtZ@3ZAbr)v#oxyCN+V0irD^|fj5 zgX{P1-QINX*~57nY|1_i;yq>GWV7aqFa)}y;*f@ii|yw8+bXNeka2a{mHc@TPqR-q zt2hg8obZ%=jeiC`m4%s&A*tz9Q5tqyMKYIZ_jMrA;Egv;#XCuWku8g~Lckh+! zMlr%_3K*6)j(~qxY6q_!;ijhN4 z;r&-&(8U$In*=(bD3`fV3^a~;7F))m2EJmC>RKQzGQD6Wqtx{LRgB!)&HJxS2N{d1 z4#OCbtff(u0;X9bX@O(&hs5!tG6wvy6>fgFFhFrQM6q+GQ)sPM;^)e`>jEUGTia zcS4IT1$QZFaT-WVzOY-q*Uo!eMWoFZ)+yQ+=R9PsA8&Z;AP~f5=pe!{S?#;{bcI01 zt=nHtW-MZy%zv}<{NeSrY43yU_wL=^ zbnn^2c^YiWJ`CbLW#448=87-`x}xHchKGyo=KR|#tILpab=j5tc@a;uPdBSL3vQh7 zlzrpdNKWeo2Ne3N%5TlTn86(M?cck9fvRuMY~CTkdfVbxRj6f0#BAGRTKj?0^;&(N zQvQ4DxfoJoFK@N3Uu(M5?3mG}6_G*_*IX0$+?<&#Ouf1owim99yK{H%mFq?`=WZ9{ z?W^5*X=ZJu?cd8WcMUS<@SYLjJ;Ianc>mt;MGagN>Q~DL|JAap|Fb#poiBq?m&O7n z7@l)i_~l<;kpRYX8qc~k7$g_Zx#-HE`1b2k%cDTSv&{7-fe!4Ji)U#pV0bQ44D>b6 z#d8^p8u&6G@(S<20)sQI*d3@0#R!=T#Xu{VXR(147kgCK0%;L!CNQI0(7gZJbdVz; zCe*`>z_0Wzc7zCi7dSKIoyX z^ymK!uYn@!C;wji&#-U*uPZh4@8;G*P31EV1 z3PM&0XS>7A0j6y@dxyWAGzQOOt13)Zvp_n+@#I` delta 1792 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 literal 0 HcmV?d00001 diff --git a/dev/windows-portable-cpu/videos/sharp_basic/frame_004.jpg b/dev/windows-portable-cpu/videos/sharp_basic/frame_004.jpg new file mode 100644 index 0000000000000000000000000000000000000000..287a01d20515d95bf2c7e9bce7a38f50eb2826e0 GIT binary patch literal 112944 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%0A6k(PNIyS`LQ` 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 literal 0 HcmV?d00001 diff --git a/dev/windows-portable-cpu/videos/sharp_basic/frame_005.jpg b/dev/windows-portable-cpu/videos/sharp_basic/frame_005.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b4bb603abeba6f2ccce711b39df56355feda0d8 GIT binary patch literal 113104 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 BcMSjl