묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[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
-
미해결운영체제 공룡책 강의
교수님 질문있습니다!
안녕하세요 교수님 양질의 강의 잘 듣고 있습니다. 감사합니다! 멀티스레딩에 대해 궁금한 점이 있어 질문남깁니다. 1. 멀티프로세싱 대비 멀티스레딩의 장점 중 하나가, context switching의 비용이 적다는 것이라고 알고 있습니다. 그런데 context switching이란 명령어를 실행하기 위한 pc, stack pointer 등을 바꾸는 과정으로 알고 있는데, 스레드의 경우에도 pc, stack pointer는 각각 다르지 않습니까?? 그럼 어차피 스레드도 pc, stack pointer를 바꿀텐데 왜 context switching의 비용이 싼 건지 궁금합니다! 2. 서버는 멀티프로세스를 쓰는게 좋은지 멀티스레딩을 쓰는게 좋은지도 궁금합니다! 다시 한번 좋은 강의 감사드립니다.