python joblib 에러: _pickle.PicklingError: Could not pickle the task to send it to the workers 해결하기

python으로 많은 양의 이미지를 처리하기 위해 위 코드로 병렬 연산을 하려고 했는데, 다음과 같은 에러가 떴습니다. Parallel(n_jobs=8)(delayed(get_disparity)(idx) for idx in z) _pickle.PicklingError: Could not pickle the task to send it to the workers. joblib은 기본적으로 백엔드 모듈을 'locky'로 사용하고 있습니다. 이를 'threads'로 바꾸어줍시다. Parallel(n_jobs=8, prefer='threads')(delayed(get_disparity)(idx) for idx in z) 해결 완료! 자세한 내용은 제가 포스팅했던 이 게시물에 있습니다. python joblib으..

python joblib으로 병렬 프로그래밍을 해보자

효율적인 프로그래밍을 위해 병렬 프로그래밍을 하곤 합니다. 특히 대용량의 데이터을 처리할 때 필수적이죠. joblib은 파이썬 프로그래밍에서 병렬처리를 가능하게 만들어줍니다. 파이썬에는 병렬 연산을 위한 디폴트 패키지로 multiprocessing이 있습니다. multiprocessing은 pandas의 DataFrame을 다루는 데에 유용하며, joblib은 일반적인 python 코딩에 두루두루 쓰입니다. joblib의 dump, load 메소드는 python 객체를 저장하거나 불러오게끔 할 수 있기에, 머신러닝 프로젝트에서 모델을 저장하기에 유용하게 쓰이지만, 본 게시물에서는 병렬 처리를 도와주는 joblib의 Parallel, delayed에 대한 설명을 하겠습니다. 😁 설치 pip install ..