pytorch_geometric
pytorch_geometric copied to clipboard
`get_ppr` with `numba>=0.60.0` fails due to `AttributeError: 'tuple' object has no attribute 'name'`
🐛 Describe the bug
I'm trying to use get_ppr, and I thought I was just using it wrong, but I get this error, even when running the provided test function (sorry it's so long):
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[41], [line 30](vscode-notebook-cell:?execution_count=41&line=30)
[27](vscode-notebook-cell:?execution_count=41&line=27) assert edge_index[1].min() >= 0 and edge_index[1].max() < data.num_nodes
[28](vscode-notebook-cell:?execution_count=41&line=28) assert edge_weight.min() >= 0.0 and edge_weight.max() <= 1.0
---> [30](vscode-notebook-cell:?execution_count=41&line=30) test_get_ppr(torch.tensor([0, 4, 5, 6]))
Cell In[41], [line 14](vscode-notebook-cell:?execution_count=41&line=14)
[9](vscode-notebook-cell:?execution_count=41&line=9) @withPackage('numba')
[10](vscode-notebook-cell:?execution_count=41&line=10) @pytest.mark.parametrize('target', [None, torch.tensor([0, 4, 5, 6])])
[11](vscode-notebook-cell:?execution_count=41&line=11) def test_get_ppr(target):
[12](vscode-notebook-cell:?execution_count=41&line=12) data = KarateClub()[0]
---> [14](vscode-notebook-cell:?execution_count=41&line=14) edge_index, edge_weight = get_ppr(
[15](vscode-notebook-cell:?execution_count=41&line=15) data.edge_index,
[16](vscode-notebook-cell:?execution_count=41&line=16) alpha=0.1,
[17](vscode-notebook-cell:?execution_count=41&line=17) eps=1e-5,
[18](vscode-notebook-cell:?execution_count=41&line=18) target=target,
[19](vscode-notebook-cell:?execution_count=41&line=19) )
[21](vscode-notebook-cell:?execution_count=41&line=21) assert edge_index.size(0) == 2
[22](vscode-notebook-cell:?execution_count=41&line=22) assert edge_index.size(1) == edge_weight.numel()
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:113, in get_ppr(edge_index, alpha, eps, target, num_nodes)
[110](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:110) edge_index = edge_index.sort_by('row')[0]
[111](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:111) (rowptr, col), _ = edge_index.get_csr()
--> [113](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:113) cols, weights = _get_ppr_numba(
[114](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:114) rowptr.cpu().numpy(),
[115](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:115) col.cpu().numpy(),
[116](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:116) alpha,
[117](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:117) eps,
[118](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:118) None if target is None else target.cpu().numpy(),
[119](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:119) )
[121](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:121) device = edge_index.device
[122](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/torch_geometric/utils/ppr.py:122) col = torch.tensor(list(chain.from_iterable(cols)), device=device)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:442, in _DispatcherBase._compile_for_args(self, *args, **kws)
[440](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:440) e.patch_message('\n'.join((str(e).rstrip(), help_msg)))
[441](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:441) # ignore the FULL_TRACEBACKS config, this needs reporting!
--> [442](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:442) raise e
[443](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:443) finally:
[444](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:444) self._types_active_call = []
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:375, in _DispatcherBase._compile_for_args(self, *args, **kws)
[373](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:373) return_val = None
[374](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:374) try:
--> [375](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:375) return_val = self.compile(tuple(argtypes))
[376](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:376) except errors.ForceLiteralArg as e:
[377](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:377) # Received request for compiler re-entry with the list of arguments
[378](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:378) # indicated by e.requested_args.
[379](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:379) # First, check if any of these args are already Literal-ized
[380](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:380) already_lit_pos = [i for i in e.requested_args
[381](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:381) if isinstance(args[i], types.Literal)]
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:905, in Dispatcher.compile(self, sig)
[903](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:903) with ev.trigger_event("numba:compile", data=ev_details):
[904](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:904) try:
--> [905](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:905) cres = self._compiler.compile(args, return_type)
[906](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:906) except errors.ForceLiteralArg as e:
[907](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:907) def folded(args, kws):
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:80, in _FunctionCompiler.compile(self, args, return_type)
[79](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:79) def compile(self, args, return_type):
---> [80](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:80) status, retval = self._compile_cached(args, return_type)
[81](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:81) if status:
[82](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:82) return retval
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:94, in _FunctionCompiler._compile_cached(self, args, return_type)
[91](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:91) pass
[93](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:93) try:
---> [94](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:94) retval = self._compile_core(args, return_type)
[95](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:95) except errors.TypingError as e:
[96](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:96) self._failed_cache[key] = e
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:107, in _FunctionCompiler._compile_core(self, args, return_type)
[104](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:104) flags = self._customize_flags(flags)
[106](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:106) impl = self._get_implementation(args, {})
--> [107](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:107) cres = compiler.compile_extra(self.targetdescr.typing_context,
[108](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:108) self.targetdescr.target_context,
[109](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:109) impl,
[110](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:110) args=args, return_type=return_type,
[111](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:111) flags=flags, locals=self.locals,
[112](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:112) pipeline_class=self.pipeline_class)
[113](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:113) # Check typing error if object mode is used
[114](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/dispatcher.py:114) if cres.typing_error is not None and not flags.enable_pyobject:
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:744, in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)
[720](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:720) """Compiler entry point
[721](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:721)
[722](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:722) Parameter
(...)
[740](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:740) compiler pipeline
[741](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:741) """
[742](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:742) pipeline = pipeline_class(typingctx, targetctx, library,
[743](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:743) args, return_type, flags, locals)
--> [744](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:744) return pipeline.compile_extra(func)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:438, in CompilerBase.compile_extra(self, func)
[436](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:436) self.state.lifted = ()
[437](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:437) self.state.lifted_from = None
--> [438](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:438) return self._compile_bytecode()
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:506, in CompilerBase._compile_bytecode(self)
[502](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:502) """
[503](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:503) Populate and run pipeline for bytecode input
[504](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:504) """
[505](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:505) assert self.state.func_ir is None
--> [506](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:506) return self._compile_core()
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:481, in CompilerBase._compile_core(self)
[478](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:478) except Exception as e:
[479](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:479) if (utils.use_new_style_errors() and not
[480](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:480) isinstance(e, errors.NumbaError)):
--> [481](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:481) raise e
[483](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:483) self.state.status.fail_reason = e
[484](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:484) if is_final_pipeline:
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:472, in CompilerBase._compile_core(self)
[470](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:470) res = None
[471](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:471) try:
--> [472](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:472) pm.run(self.state)
[473](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:473) if self.state.cr is not None:
[474](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler.py:474) break
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:364, in PassManager.run(self, state)
[361](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:361) except Exception as e:
[362](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:362) if (utils.use_new_style_errors() and not
[363](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:363) isinstance(e, errors.NumbaError)):
--> [364](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:364) raise e
[365](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:365) msg = "Failed in %s mode pipeline (step: %s)" % \
[366](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:366) (self.pipeline_name, pass_desc)
[367](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:367) patched_exception = self._patch_error(msg, e)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:356, in PassManager.run(self, state)
[354](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:354) pass_inst = _pass_registry.get(pss).pass_inst
[355](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:355) if isinstance(pass_inst, CompilerPass):
--> [356](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:356) self._runPass(idx, pass_inst, state)
[357](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:357) else:
[358](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:358) raise BaseException("Legacy pass in use")
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_lock.py:35, in _CompilerLock.__call__.<locals>._acquire_compile_lock(*args, **kwargs)
[32](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_lock.py:32) @functools.wraps(func)
[33](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_lock.py:33) def _acquire_compile_lock(*args, **kwargs):
[34](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_lock.py:34) with self:
---> [35](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_lock.py:35) return func(*args, **kwargs)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:311, in PassManager._runPass(self, index, pss, internal_state)
[309](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:309) mutated |= check(pss.run_initialization, internal_state)
[310](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:310) with SimpleTimer() as pass_time:
--> [311](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:311) mutated |= check(pss.run_pass, internal_state)
[312](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:312) with SimpleTimer() as finalize_time:
[313](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:313) mutated |= check(pss.run_finalizer, internal_state)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:273, in PassManager._runPass.<locals>.check(func, compiler_state)
[272](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:272) def check(func, compiler_state):
--> [273](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:273) mangled = func(compiler_state)
[274](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:274) if mangled not in (True, False):
[275](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:275) msg = ("CompilerPass implementations should return True/False. "
[276](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/compiler_machinery.py:276) "CompilerPass with name '%s' did not.")
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/typed_passes.py:468, in BaseNativeLowering.run_pass(self, state)
[465](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/typed_passes.py:465) with targetctx.push_code_library(library):
[466](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/typed_passes.py:466) lower = self.lowering_class(targetctx, library, fndesc, interp,
[467](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/typed_passes.py:467) metadata=metadata)
--> [468](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/typed_passes.py:468) lower.lower()
[469](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/typed_passes.py:469) if not flags.no_cpython_wrapper:
[470](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/typed_passes.py:470) lower.create_cpython_wrapper(flags.release_gil)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:187, in BaseLower.lower(self)
[185](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:185) if self.generator_info is None:
[186](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:186) self.genlower = None
--> [187](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:187) self.lower_normal_function(self.fndesc)
[188](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:188) else:
[189](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:189) self.genlower = self.GeneratorLower(self)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:226, in BaseLower.lower_normal_function(self, fndesc)
[224](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:224) # Init argument values
[225](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:225) self.extract_function_arguments()
--> [226](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:226) entry_block_tail = self.lower_function_body()
[228](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:228) # Close tail of entry block, do not emit debug metadata else the
[229](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:229) # unconditional jump gets associated with the metadata from the function
[230](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:230) # body end.
[231](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:231) with debuginfo.suspend_emission(self.builder):
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:256, in BaseLower.lower_function_body(self)
[254](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:254) self.builder.position_at_end(bb)
[255](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:255) self.debug_print(f"# lower block: {offset}")
--> [256](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:256) self.lower_block(block)
[257](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:257) self.post_lower()
[258](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:258) return entry_block_tail
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:270, in BaseLower.lower_block(self, block)
[267](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:267) defaulterrcls = partial(LoweringError, loc=self.loc)
[268](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:268) with new_error_context('lowering "{inst}" at {loc}', inst=inst,
[269](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:269) loc=self.loc, errcls_=defaulterrcls):
--> [270](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:270) self.lower_inst(inst)
[271](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/core/lowering.py:271) self.post_block(block)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:51, in ParforLower.lower_inst(self, inst)
[49](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:49) def lower_inst(self, inst):
[50](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:50) if isinstance(inst, parfor.Parfor):
---> [51](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:51) _lower_parfor_parallel(self, inst)
[52](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:52) else:
[53](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:53) super().lower_inst(inst)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:67, in _lower_parfor_parallel(lowerer, parfor)
[65](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:65) def _lower_parfor_parallel(lowerer, parfor):
[66](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:66) if parfor.lowerer is None:
---> [67](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:67) return _lower_parfor_parallel_std(lowerer, parfor)
[68](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:68) else:
[69](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:69) return parfor.lowerer(lowerer, parfor)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:349, in _lower_parfor_parallel_std(lowerer, parfor)
[343](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:343) numba.parfors.parfor.sequential_parfor_lowering = True
[344](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:344) try:
[345](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:345) (func,
[346](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:346) func_args,
[347](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:347) func_sig,
[348](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:348) func_arg_types,
--> [349](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:349) exp_name_to_tuple_var) = _create_gufunc_for_parfor_body(
[350](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:350) lowerer, parfor, typemap, typingctx, targetctx, flags, {},
[351](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:351) bool(alias_map), index_var_typ, parfor.races)
[352](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:352) finally:
[353](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:353) numba.parfors.parfor.sequential_parfor_lowering = False
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:1500, in _create_gufunc_for_parfor_body(lowerer, parfor, typemap, typingctx, targetctx, flags, locals, has_aliases, index_var_typ, races)
[1497](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:1497) _print_body(loop_body)
[1499](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:1499) wrapped_blocks = wrap_loop_body(loop_body)
-> [1500](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:1500) hoisted, not_hoisted = hoist(parfor_params, loop_body, typemap, wrapped_blocks)
[1501](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:1501) start_block = gufunc_ir.blocks[min(gufunc_ir.blocks.keys())]
[1502](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:1502) start_block.body = start_block.body[:-1] + hoisted + [start_block.body[-1]]
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:975, in hoist(parfor_params, loop_body, typemap, wrapped_blocks)
[973](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:973) setitems = set()
[974](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:974) itemsset = set()
--> [975](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:975) find_setitems_body(setitems, itemsset, loop_body, typemap)
[976](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:976) dep_on_param = list(set(dep_on_param).difference(setitems))
[977](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:977) if config.DEBUG_ARRAY_OPT >= 1:
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:950, in find_setitems_body(setitems, itemsset, loop_body, typemap)
[944](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:944) """
[945](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:945) Find the arrays that are written into (goes into setitems) and the
[946](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:946) mutable objects (mostly arrays) that are written into other arrays
[947](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:947) (goes into itemsset).
[948](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:948) """
[949](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:949) for label, block in loop_body.items():
--> [950](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:950) find_setitems_block(setitems, itemsset, block, typemap)
File ~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:936, in find_setitems_block(setitems, itemsset, block, typemap)
[934](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:934) if rhs.op in ["build_tuple", "build_list", "build_set", "build_map"]:
[935](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:935) for item in rhs.items:
--> [936](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:936) if getattr(typemap[item.name], "mutable", False):
[937](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:937) itemsset.add(item.name)
[938](https://file+.vscode-resource.vscode-cdn.net/Users/bryceforrest/Documents/analysis/~/miniforge3/envs/ml/lib/python3.11/site-packages/numba/parfors/parfor_lowering.py:938) elif rhs.op == "call":
AttributeError: 'tuple' object has no attribute 'name'
Versions
Collecting environment information...
PyTorch version: 2.3.1
Is debug build: False
CUDA used to build PyTorch: None
ROCM used to build PyTorch: N/A
OS: macOS 14.5 (arm64)
GCC version: Could not collect
Clang version: 15.0.0 (clang-1500.3.9.4)
CMake version: Could not collect
Libc version: N/A
Python version: 3.11.9 | packaged by conda-forge | (main, Apr 19 2024, 18:34:54) [Clang 16.0.6 ] (64-bit runtime)
Python platform: macOS-14.5-arm64-arm-64bit
Is CUDA available: False
CUDA runtime version: No CUDA
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Apple M3
Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] torch==2.3.1
[pip3] torch_cluster==1.6.3
[pip3] torch_geometric==2.5.3
[pip3] torch_scatter==2.1.2
[pip3] torch_sparse==0.6.18
[pip3] torchaudio==2.3.1
[pip3] torchmetrics==1.4.0.post0
[pip3] torchvision==0.18.1
[conda] cpuonly 2.0 0 pytorch
[conda] libtorch 2.3.1 cpu_generic_hac4f340_1 conda-forge
[conda] nomkl 1.0 h5ca1d4c_0 conda-forge
[conda] numpy 1.26.4 py311h7125741_0 conda-forge
[conda] pytorch 2.3.1 cpu_generic_py311h82099cb_1 conda-forge
[conda] pytorch-mutex 1.0 cpu pytorch
[conda] pytorch_cluster 1.6.3 py311h7f9f594_4 conda-forge
[conda] pytorch_geometric 2.5.3 pyhd8ed1ab_0 conda-forge
[conda] pytorch_scatter 2.1.2 cpu_py311h7f9f594_6 conda-forge
[conda] pytorch_sparse 0.6.18 py311h1736223_2 conda-forge
[conda] torchaudio 2.3.1 py311_cpu pytorch
[conda] torchmetrics 1.4.0.post0 pyhd8ed1ab_0 conda-forge
[conda] torchvision 0.18.1 py311_cpu pytorch
Hi @bryceForrest
This looks like an issue of numba, what is your numba version?
@EdisonLeeeee I agree! Using numba version 0.60.0
It works fine on my end with numba==0.55.2 but collapses in 0.60.0. Perhaps you should downgrad your numba.
I opted for 0.59.1 so that I wouldn't have to downgrade Python, which would inevitably lead me into dependency hell. I now get this warning,
OMP: Info #276: omp_set_nested routine deprecated, please use omp_set_max_active_levels instead.
but get_ppr happily returns results, so I will make like a good programmer and disregard all warnings :)
Thanks for your help. Should I close this, or is the warning still potentially considered a "bug" of interest?
Let's leave the issue and we shall fix it later. :) Thanks for spotting.
For me, I was getting a llvm-config error with numba < 0.60.0.
Patching pyproject.toml to numba >=0.60.0 fixed it for me (allowed me to run uv pip install -e ".[dev,full]")