spinagon / ComfyUI-seam-carving

Seam carving (image resize) for ComfyUI
MIT License
18 stars 2 forks source link

Error occurred when executing ImageSeamCarving+: Failed in nopython mode pipeline #3

Open menahem121 opened 3 months ago

menahem121 commented 3 months ago

i did pip install seam-carving from the original repo but i got an error

Error occurred when executing ImageSeamCarving+:

Failed in nopython mode pipeline (step: nopython frontend)
No implementation of function Function() found for signature:

>>> argmin(array(float32, 2d, C), axis=Literal[int](0))

There are 2 candidate implementations:
 - Of which 2 did not match due to:
Overload in function 'array_argmin': File: numba/np/arraymath.py: Line 655.
With argument(s): '(array(float32, 2d, C), axis=int64)':
 Rejected as the implementation raised a specific error:
TypingError: Failed in nopython mode pipeline (step: native lowering)
Failed in nopython mode pipeline (step: native lowering)
No implementation of function Function() found for signature:

>>> hash(int64)

There are 4 candidate implementations:
 - Of which 2 did not match due to:
Overload of function 'hash': File: numba/experimental/jitclass/overloads.py: Line 0.
With argument(s): '(int64)':
 No match.
 - Of which 2 did not match due to:
Overload in function 'hash_overload': File: numba/cpython/hashing.py: Line 66.
With argument(s): '(int64)':
 Rejected as the implementation raised a specific error:
TypingError: Failed in nopython mode pipeline (step: Literal propagation)
Failed in literal_propagation_subpipeline mode pipeline (step: performs partial type inference)
Untyped global name 'hasattr': Cannot determine Numba type of 

File "../envcomfyui/lib/python3.10/site-packages/numba/cpython/hashing.py", line 74:
 def impl(obj):
 if hasattr(obj, '__hash__'):
 ^

raised from /home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/typeinfer.py:1502

During: lowering "$14call_function.6 = call $10load_global.4(axis, func=$10load_global.4, args=[Var(axis, arrayobj.py:1785)], kws=(), vararg=None, varkwarg=None, target=None)" at /home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/np/arrayobj.py (1786)
During: lowering "transposed_arr = call $126load_method.9(transpose_index, func=$126load_method.9, args=[Var(transpose_index, arraymath.py:762)], kws=(), vararg=None, varkwarg=None, target=None)" at /home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/np/arraymath.py (763)
raised from /home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/types/functions.py:227

During: resolving callee type: Function()
During: typing of call at /home/ubuntu/ComfyUI/custom_nodes/ComfyUI_essentials/carve.py (73)


File "custom_nodes/ComfyUI_essentials/carve.py", line 73:
def _get_backward_seam(energy: np.ndarray) -> np.ndarray:

choices = np.vstack((cost[:-2], cost[1:-1], cost[2:]))
 min_idx = np.argmin(choices, axis=0) + base_idx
 ^

File "/home/ubuntu/ComfyUI/execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/ubuntu/ComfyUI/execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/ubuntu/ComfyUI/execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/ubuntu/ComfyUI/custom_nodes/ComfyUI_essentials/image.py", line 510, in execute
from .carve import seam_carving
File "/home/ubuntu/ComfyUI/custom_nodes/ComfyUI_essentials/carve.py", line 63, in
def _get_backward_seam(energy: np.ndarray) -> np.ndarray:
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/decorators.py", line 232, in wrapper
disp.compile(sig)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/dispatcher.py", line 905, in compile
cres = self._compiler.compile(args, return_type)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/dispatcher.py", line 84, in compile
raise retval
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/dispatcher.py", line 94, in _compile_cached
retval = self._compile_core(args, return_type)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/dispatcher.py", line 107, in _compile_core
cres = compiler.compile_extra(self.targetdescr.typing_context,
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler.py", line 744, in compile_extra
return pipeline.compile_extra(func)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler.py", line 438, in compile_extra
return self._compile_bytecode()
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler.py", line 506, in _compile_bytecode
return self._compile_core()
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler.py", line 485, in _compile_core
raise e
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler.py", line 472, in _compile_core
pm.run(self.state)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 368, in run
raise patched_exception
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 356, in run
self._runPass(idx, pass_inst, state)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler_lock.py", line 35, in _acquire_compile_lock
return func(*args, **kwargs)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 311, in _runPass
mutated |= check(pss.run_pass, internal_state)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 273, in check
mangled = func(compiler_state)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/typed_passes.py", line 112, in run_pass
typemap, return_type, calltypes, errs = type_inference_stage(
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/typed_passes.py", line 93, in type_inference_stage
errs = infer.propagate(raise_errors=raise_errors)
File "/home/ubuntu/envcomfyui/lib/python3.10/site-packages/numba/core/typeinfer.py", line 1091, in propagate
raise errors[0]
spinagon commented 3 months ago

Cannot reproduce, updated ComfyUI to latest version, still works for me.