MaartenGr / BERTopic

Leveraging BERT and c-TF-IDF to create easily interpretable topics.
https://maartengr.github.io/BERTopic/
MIT License
6.02k stars 755 forks source link

Numba Error if we used python 3.10 #978

Closed AlfanDindaR closed 1 year ago

AlfanDindaR commented 1 year ago

Hello @MaartenGr i got error while i used python 3.10, this is my error

  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 273, in check
    mangled = func(compiler_state)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/untyped_passes.py", line 86, in run_pass
    func_ir = interp.interpret(bc)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/interpreter.py", line 1321, in interpret
    flow.run()
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/byteflow.py", line 107, in run
    runner.dispatch(state)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/byteflow.py", line 282, in dispatch
    fn(state, inst)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/byteflow.py", line 1062, in _binaryop
    lhs = state.pop()
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/byteflow.py", line 1344, in pop
    return self._stack.pop()
IndexError: Failed in nopython mode pipeline (step: analyzing bytecode)
pop from empty list

How to solve this issue? or you may encountered an error like this? Thankyou

MaartenGr commented 1 year ago

Could you share your full code for getting this error? Also, could you also share the entire error message? Without those it is unclear where the issue stems from. Also, which version of BERTopic and its dependencies are you currently using?

AlfanDindaR commented 1 year ago

Error found while load bertopic model

# Load bertopic model
topic_model = BERTopic.load(bertopic_model, embedding_model=sentence_embedding)

if i used python 3.9, this code running fine, but if i used python 3.10 error will found whis is full error message

  File "/home/alfan/Documents/GDP Labs/KASKUS/topic_modelling/kaskus-utils/app/bertopic.py", line 18, in <module>
    topic_model = BERTopic.load(bertopic_model, embedding_model=sentence_embedding)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/bertopic/_bertopic.py", line 2737, in load
    topic_model = joblib.load(file)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/joblib/numpy_pickle.py", line 648, in load
    obj = _unpickle(fobj)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/joblib/numpy_pickle.py", line 577, in _unpickle
    obj = unpickler.load()
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/pickle.py", line 1213, in load
    dispatch[key[0]](self)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/pickle.py", line 1590, in load_reduce
    stack[-1] = func(*args)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/serialize.py", line 139, in custom_rebuild
    return cls._rebuild(**states)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/dispatcher.py", line 911, in _rebuild
    self.compile(sig)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/dispatcher.py", line 965, in compile
    cres = self._compiler.compile(args, return_type)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/dispatcher.py", line 125, in compile
    status, retval = self._compile_cached(args, return_type)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/dispatcher.py", line 139, in _compile_cached
    retval = self._compile_core(args, return_type)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/dispatcher.py", line 152, in _compile_core
    cres = compiler.compile_extra(self.targetdescr.typing_context,
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler.py", line 716, in compile_extra
    return pipeline.compile_extra(func)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler.py", line 452, in compile_extra
    return self._compile_bytecode()
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler.py", line 520, in _compile_bytecode
    return self._compile_core()
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler.py", line 499, in _compile_core
    raise e
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler.py", line 486, in _compile_core
    pm.run(self.state)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 368, in run
    raise patched_exception
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 356, in run
    self._runPass(idx, pass_inst, state)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler_lock.py", line 35, in _acquire_compile_lock
    return func(*args, **kwargs)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 311, in _runPass
    mutated |= check(pss.run_pass, internal_state)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/compiler_machinery.py", line 273, in check
    mangled = func(compiler_state)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/untyped_passes.py", line 86, in run_pass
    func_ir = interp.interpret(bc)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/interpreter.py", line 1321, in interpret
    flow.run()
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/byteflow.py", line 107, in run
    runner.dispatch(state)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/byteflow.py", line 282, in dispatch
    fn(state, inst)
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/byteflow.py", line 1062, in _binaryop
    lhs = state.pop()
  File "/home/alfan/.pyenv/versions/miniconda3-4.7.12/envs/topicCls/lib/python3.10/site-packages/numba/core/byteflow.py", line 1344, in pop
    return self._stack.pop()
IndexError: Failed in nopython mode pipeline (step: analyzing bytecode)
pop from empty list
AlfanDindaR commented 1 year ago

thats my code and error status sir @MaartenGr

MaartenGr commented 1 year ago

When you are saving a model in a specific environment, it is typically advised that you load the model in a similar environment. This means that versions of packages, dependencies, and python all need to be the same. For example, if you save BERTopic in python 3.9, then it is not advised to load it in python 3.10.

AlfanDindaR commented 1 year ago

ahh isee, thanks a lot sir @MaartenGr