kieferk / pymssa

Python implementation of Multivariate Singular Spectrum Analysis (MSSA)
MIT License
152 stars 48 forks source link

LoweringError: Failed in nopython mode pipeline (step: nopython mode backend) Operands must be the same type, got (i64, i32) #11

Open taltekte opened 4 years ago

taltekte commented 4 years ago

I am trying to run this lib on Anaconda on Windows 10. After I am run code, it stoped on mssa.fit(wine_tr.to_numpy()[:500])

LoweringError: Failed in nopython mode pipeline (step: nopython mode backend) Operands must be the same type, got (i64, i32)

File "..........\ProgramData\Anaconda3\lib\site-packages\pymssa-0.1.0-py3.7.egg\pymssa\optimized.py", line 226: def incremental_component_reconstruction(trajectory_matrix,

components = np.zeros((P, N, rank))
^

[1] During: lowering "$0.7 = call $0.2($0.6, func=$0.2, args=[Var($0.6, C:\ProgramData\Anaconda3\lib\site-packages\pymssa-0.1.0-py3.7.egg\pymssa\optimized.py (226))], kws=(), vararg=None)" at C:\ProgramData\Anaconda3\lib\site-packages\pymssa-0.1.0-py3.7.egg\pymssa\optimized.py (226)

This should not have happened, a problem has occurred in Numba's internals. You are currently using Numba version 0.45.1.

Please report the error message and traceback, along with a minimal reproducer at: https://github.com/numba/numba/issues/new

If more help is needed please feel free to speak to the Numba core developers directly at: https://gitter.im/numba/numba

Thanks in advance for your help in improving Numba!

taltekte commented 4 years ago

All messege was

Constructing trajectory matrix Trajectory matrix shape: (1250, 251) Decomposing trajectory covariance matrix with SVD Constructing components C:\ProgramData\Anaconda3\lib\site-packages\pymssa-0.1.0-py3.7.egg\pymssa\optimized.py:233: NumbaPerformanceWarning: np.dot() is faster on contiguous arrays, called on (array(float64, 2d, A), array(float64, 2d, A)) L

ValueError Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\numba\errors.py in new_errorcontext(fmt, *args, **kwargs) 661 try: --> 662 yield 663 except NumbaError as e:

C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lowerblock(self, block) 257 loc=self.loc, errcls=defaulterrcls): --> 258 self.lower_inst(inst) 259

C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lower_inst(self, inst) 300 ty = self.typeof(inst.target.name) --> 301 val = self.lower_assign(ty, inst) 302 self.storevar(val, inst.target.name)

C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lower_assign(self, ty, inst) 458 elif isinstance(value, ir.Expr): --> 459 return self.lower_expr(ty, value) 460

C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lower_expr(self, resty, expr) 918 elif expr.op == 'call': --> 919 res = self.lower_call(resty, expr) 920 return res

C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lower_call(self, resty, expr) 710 else: --> 711 res = self._lower_call_normal(fnty, expr, signature) 712

C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in _lower_call_normal(self, fnty, expr, signature) 889 --> 890 res = impl(self.builder, argvals, self.loc) 891 return res

C:\ProgramData\Anaconda3\lib\site-packages\numba\targets\base.py in call(self, builder, args, loc) 1131 def call(self, builder, args, loc=None): -> 1132 res = self._imp(self._context, builder, self._sig, args, loc=loc) 1133 self._context.add_linking_libs(getattr(self, 'libs', ()))

C:\ProgramData\Anaconda3\lib\site-packages\numba\targets\base.py in wrapper(*args, *kwargs) 1156 kwargs.pop('loc') # drop unused loc -> 1157 return fn(args, **kwargs) 1158

C:\ProgramData\Anaconda3\lib\site-packages\numba\targets\arrayobj.py in numpy_zeros_nd(context, builder, sig, args) 3373 arrtype, shapes = _parse_empty_args(context, builder, sig, args) -> 3374 ary = _empty_nd_impl(context, builder, arrtype, shapes) 3375 _zero_fill_array(context, builder, ary)

C:\ProgramData\Anaconda3\lib\site-packages\numba\targets\arrayobj.py in _empty_nd_impl(context, builder, arrtype, shapes) 3260 for s in shapes: -> 3261 arrlen = builder.mul(arrlen, s) 3262

C:\ProgramData\Anaconda3\lib\site-packages\llvmlite\ir\builder.py in wrapped(self, lhs, rhs, name, flags) 23 raise ValueError("Operands must be the same type, got (%s, %s)" ---> 24 % (lhs.type, rhs.type)) 25 instr = cls(self.block, lhs.type, opname, (lhs, rhs), name, flags)

ValueError: Operands must be the same type, got (i64, i32)

During handling of the above exception, another exception occurred:

LoweringError Traceback (most recent call last)

in ----> 1 mssa.fit(wine_tr.to_numpy()[:500]) C:\ProgramData\Anaconda3\lib\site-packages\pymssa-0.1.0-py3.7.egg\pymssa\mssa.py in fit(self, timeseries) 546 self.P_, 547 self.N_, --> 548 self.L_ 549 ) 550 C:\ProgramData\Anaconda3\lib\site-packages\numba\dispatcher.py in _compile_for_args(self, *args, **kws) 393 e.patch_message(''.join(e.args) + help_msg) 394 # ignore the FULL_TRACEBACKS config, this needs reporting! --> 395 raise e 396 397 def inspect_llvm(self, signature=None): C:\ProgramData\Anaconda3\lib\site-packages\numba\dispatcher.py in _compile_for_args(self, *args, **kws) 350 argtypes.append(self.typeof_pyval(a)) 351 try: --> 352 return self.compile(tuple(argtypes)) 353 except errors.TypingError as e: 354 # Intercept typing error that may be due to an argument C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler_lock.py in _acquire_compile_lock(*args, **kwargs) 30 def _acquire_compile_lock(*args, **kwargs): 31 with self: ---> 32 return func(*args, **kwargs) 33 return _acquire_compile_lock 34 C:\ProgramData\Anaconda3\lib\site-packages\numba\dispatcher.py in compile(self, sig) 691 692 self._cache_misses[sig] += 1 --> 693 cres = self._compiler.compile(args, return_type) 694 self.add_overload(cres) 695 self._cache.save_overload(sig, cres) C:\ProgramData\Anaconda3\lib\site-packages\numba\dispatcher.py in compile(self, args, return_type) 74 75 def compile(self, args, return_type): ---> 76 status, retval = self._compile_cached(args, return_type) 77 if status: 78 return retval C:\ProgramData\Anaconda3\lib\site-packages\numba\dispatcher.py in _compile_cached(self, args, return_type) 88 89 try: ---> 90 retval = self._compile_core(args, return_type) 91 except errors.TypingError as e: 92 self._failed_cache[key] = e C:\ProgramData\Anaconda3\lib\site-packages\numba\dispatcher.py in _compile_core(self, args, return_type) 106 args=args, return_type=return_type, 107 flags=flags, locals=self.locals, --> 108 pipeline_class=self.pipeline_class) 109 # Check typing error if object mode is used 110 if cres.typing_error is not None and not flags.enable_pyobject: C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class) 970 pipeline = pipeline_class(typingctx, targetctx, library, 971 args, return_type, flags, locals) --> 972 return pipeline.compile_extra(func) 973 974 C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in compile_extra(self, func) 388 self.lifted = () 389 self.lifted_from = None --> 390 return self._compile_bytecode() 391 392 def compile_ir(self, func_ir, lifted=(), lifted_from=None): C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in _compile_bytecode(self) 901 """ 902 assert self.func_ir is None --> 903 return self._compile_core() 904 905 def _compile_ir(self): C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in _compile_core(self) 888 self.define_pipelines(pm) 889 pm.finalize() --> 890 res = pm.run(self.status) 891 if res is not None: 892 # Early pipeline completion C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler_lock.py in _acquire_compile_lock(*args, **kwargs) 30 def _acquire_compile_lock(*args, **kwargs): 31 with self: ---> 32 return func(*args, **kwargs) 33 return _acquire_compile_lock 34 C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in run(self, status) 264 # No more fallback pipelines? 265 if is_final_pipeline: --> 266 raise patched_exception 267 # Go to next fallback pipeline 268 else: C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in run(self, status) 255 try: 256 event("-- %s" % stage_name) --> 257 stage() 258 except _EarlyPipelineCompletion as e: 259 return e.result C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in stage_nopython_backend(self) 762 """ 763 lowerfn = self.backend_nopython_mode --> 764 self._backend(lowerfn, objectmode=False) 765 766 def stage_compile_interp_mode(self): C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in _backend(self, lowerfn, objectmode) 701 self.library.enable_object_caching() 702 --> 703 lowered = lowerfn() 704 signature = typing.signature(self.return_type, *self.args) 705 self.cr = compile_result( C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in backend_nopython_mode(self) 688 self.calltypes, 689 self.flags, --> 690 self.metadata) 691 692 def _backend(self, lowerfn, objectmode): C:\ProgramData\Anaconda3\lib\site-packages\numba\compiler.py in native_lowering_stage(targetctx, library, interp, typemap, restype, calltypes, flags, metadata) 1141 lower = lowering.Lower(targetctx, library, fndesc, interp, 1142 metadata=metadata) -> 1143 lower.lower() 1144 if not flags.no_cpython_wrapper: 1145 lower.create_cpython_wrapper(flags.release_gil) C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lower(self) 175 if self.generator_info is None: 176 self.genlower = None --> 177 self.lower_normal_function(self.fndesc) 178 else: 179 self.genlower = self.GeneratorLower(self) C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lower_normal_function(self, fndesc) 216 # Init argument values 217 self.extract_function_arguments() --> 218 entry_block_tail = self.lower_function_body() 219 220 # Close tail of entry block C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lower_function_body(self) 241 bb = self.blkmap[offset] 242 self.builder.position_at_end(bb) --> 243 self.lower_block(block) 244 245 self.post_lower() C:\ProgramData\Anaconda3\lib\site-packages\numba\lowering.py in lower_block(self, block) 256 with new_error_context('lowering "{inst}" at {loc}', inst=inst, 257 loc=self.loc, errcls_=defaulterrcls): --> 258 self.lower_inst(inst) 259 260 def create_cpython_wrapper(self, release_gil=False): C:\ProgramData\Anaconda3\lib\contextlib.py in __exit__(self, type, value, traceback) 128 value = type() 129 try: --> 130 self.gen.throw(type, value, traceback) 131 except StopIteration as exc: 132 # Suppress StopIteration *unless* it's the same exception that C:\ProgramData\Anaconda3\lib\site-packages\numba\errors.py in new_error_context(fmt_, *args, **kwargs) 668 from numba import config 669 tb = sys.exc_info()[2] if config.FULL_TRACEBACKS else None --> 670 six.reraise(type(newerr), newerr, tb) 671 672 C:\ProgramData\Anaconda3\lib\site-packages\numba\six.py in reraise(tp, value, tb) 657 if value.__traceback__ is not tb: 658 raise value.with_traceback(tb) --> 659 raise value 660 661 else: LoweringError: Failed in nopython mode pipeline (step: nopython mode backend) Operands must be the same type, got (i64, i32) File "..\..\..\..\..\ProgramData\Anaconda3\lib\site-packages\pymssa-0.1.0-py3.7.egg\pymssa\optimized.py", line 226: def incremental_component_reconstruction(trajectory_matrix, components = np.zeros((P, N, rank)) ^ [1] During: lowering "$0.7 = call $0.2($0.6, func=$0.2, args=[Var($0.6, C:\ProgramData\Anaconda3\lib\site-packages\pymssa-0.1.0-py3.7.egg\pymssa\optimized.py (226))], kws=(), vararg=None)" at C:\ProgramData\Anaconda3\lib\site-packages\pymssa-0.1.0-py3.7.egg\pymssa\optimized.py (226) ------------------------------------------------------------------------------- This should not have happened, a problem has occurred in Numba's internals. You are currently using Numba version 0.45.1. Please report the error message and traceback, along with a minimal reproducer at: https://github.com/numba/numba/issues/new If more help is needed please feel free to speak to the Numba core developers directly at: https://gitter.im/numba/numba Thanks in advance for your help in improving Numba!
zhangcy0169 commented 4 years ago

I have the same problem