미해결
[NLP] IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리
멀티 프로세싱 오류 질문입니다
현재 텍스트 분석과 자연어 처리 과정 수강하고 있으며
선생님께서 공유해주신 github주소는 아래와 같습니다.
https://github.com/corazzon/KaggleStruggle/blob/master/word2vec-nlp-tutorial/tutorial-part-1.ipynb
github 중 아래 코드까지는 잘 실행되나
# http://www.racketracer.com/2016/07/06/pandas-in-parallel/ from multiprocessing import Pool, TimeoutError import time import os import numpy as np def _apply_df(args): df, func, kwargs = args return df.apply(func, **kwargs) def apply_by_multiprocessing(df, func, **kwargs): # 키워드 항목 중 workers 파라메터를 꺼냄 workers = kwargs.pop('workers') # 위에서 가져온 workers 수로 프로세스 풀을 정의 pool = Pool(processes=workers) # 실행할 함수와 데이터프레임을 워커의 수 만큼 나눠 작업 result = pool.map(_apply_df, [(d, func, kwargs) for d in np.array_split(df, workers)]) pool.close() # 작업 결과를 합쳐서 반환
상기 코드 후 아래 코드 부터는 실행이 되지 않고 오류가 발생합니다.
코드
%time clean_train_reviews = apply_by_multiprocessing(\ train['review'], review_to_words, workers=4)
오류
AttributeError: Can't get attribute '_apply_df' on <module '__main__' (built-in)>
상기 오류 관련하여 아래 사이트 내용을 확인해 보았고 그래도 해답을 찾기 어려워 이렇게 글을 남기게 되었습니다.
https://www.inflearn.com/questions/21486
https://www.inflearn.com/questions/40850
마지막으로 아래와 같이 처리하면 해결될 것이라고 포털에 있는 내용 확인했는데
아래는 어떻게 해야할지 몰라 진행을 못하고 있습니다.
현재 상기 멀티프로세싱 오류에서 막혀 진도가 전혀 나가지 못해서...
관련하여 도움 부탁드리겠습니다.
감사합니다.
[Python] Multiprocessing 에서 AttributeError 발생# Error Message
AttributeError: can't get attribute 'f' on <module '__main__' (built-in)>
Child Process 에서 해당 모듈을 "import" 해야한다.
Error 가 발생하고 있는 'f' 함수를 별도 파일로 작성하고 import 하여 적용하여 해결한다.
or
https://makerj.tistory.com/236