У меня есть несколько функций, которые я применяю к огромному набору данных с помощью Python Pathos multiprocessing Pool. Он хорошо работает, когда я выполняю тот же код в записной книжке Jupyter (файл .ipynb), но когда я преобразовываю файл в .py и выполняю его в приглашении anaconda как python <.py file>, происходит сбой и процесс выполняется бесконечно.
Ниже приведен код, который я выполняю. У меня 8 ядер.
from pathos.multiprocessing import ProcessingPool as Pool
from pathos.helpers import cpu_count
from fuzzywuzzy import fuzz
def similarity(base, compare):
base = str(base)
compare = str(compare)
if (base is not None) and (compare is not None):
compare=compare.split('@')[0]
fuzz_ratio = fuzz.ratio(base,compare)
else:
fuzz_ratio=0
return fuzz_ratio
df['name1_fuzz_ratio'] = Pool(nodes= cpu_count()).map(similarity,df.BNAME1, df.BEMAIL1)
df['name2_fuzz_ratio'] = Pool(nodes= cpu_count()).map(similarity,df.SNAME1, df.SEMAIL1)
Помогите, пожалуйста, как я могу решить эту проблему? Также, если есть какая-либо другая утилита для ускорения этого процесса, пожалуйста, предложите.
Заранее спасибо.