MahmoudAshraf97 / whisper-diarization

Automatic Speech Recognition with Speaker Diarization based on OpenAI Whisper
BSD 2-Clause "Simplified" License
3.28k stars 272 forks source link

picklingError while loading the model #61

Closed saranchandr closed 1 year ago

saranchandr commented 1 year ago

Cell In[21], line 3
      1 # Initialize NeMo MSDD diarization model
      2 msdd_model = NeuralDiarizer(cfg=create_config(temp_path)).to("cpu")
----> 3 msdd_model.diarize()
      5 del msdd_model
      6 torch.cuda.empty_cache()

File [c:\Users\T_Care\AppData\Local\Programs\Python\Python38\lib\site-packages\torch\utils\_contextlib.py:115](file:///C:/Users/T_Care/AppData/Local/Programs/Python/Python38/lib/site-packages/torch/utils/_contextlib.py:115), in context_decorator..decorate_context(*args, **kwargs)
    112 @functools.wraps(func)
    113 def decorate_context(*args, **kwargs):
    114     with ctx_factory():
--> 115         return func(*args, **kwargs)

File [c:\Users\T_Care\AppData\Local\Programs\Python\Python38\lib\site-packages\nemo\collections\asr\models\msdd_models.py:1180](file:///C:/Users/T_Care/AppData/Local/Programs/Python/Python38/lib/site-packages/nemo/collections/asr/models/msdd_models.py:1180), in NeuralDiarizer.diarize(self)
   1173 @torch.no_grad()
   1174 def diarize(self) -> Optional[List[Optional[List[Tuple[DiarizationErrorRate, Dict]]]]]:
   1175     """
   1176     Launch diarization pipeline which starts from VAD (or a oracle VAD stamp generation), initialization clustering and multiscale diarization decoder (MSDD).
   1177     Note that the result of MSDD can include multiple speakers at the same time. Therefore, RTTM output of MSDD needs to be based on `make_rttm_with_overlap()`
   1178     function that can generate overlapping timestamps. `self.run_overlap_aware_eval()` function performs DER evaluation.
   1179     """
-> 1180     self.clustering_embedding.prepare_cluster_embs_infer()
   1181     self.msdd_model.pairwise_infer = True
...
     58 def dump(obj, file, protocol=None):
     59     '''Replacement for pickle.dump() using ForkingPickler.'''
---> 60     ForkingPickler(file, protocol).dump(obj)

PicklingError: Can't pickle : attribute lookup SpeechLabelEntity on nemo.collections.common.parts.preprocessing.collections failed```
MahmoudAshraf97 commented 1 year ago

Please upgrade to python 3.10