본문 바로가기

ML & DL

[Error 확인]Skimage, Canceled future for execute_request message before replies were done

Object detection을 위해서, 노트북에 pytorch를 성공적으로 설치했고(pytorch 1.13.1), IDE로 VSCode를 이용 중이다. Pytorch를 loading 해두고 Object detection을 위한 MS COCO dataset을 분석하기 위해서 여러가지 library를 불러 오는 과정에서 Skimage library를 Loading하는 과정에서 위와 같은 문제점을 발견했다. 이런 문제는 처음이라, Googling을 진행했는데, stack overflow(https://stackoverflow.com/questions/75353784/how-could-i-fix-the-wrong-message-canceled-future-for-execute-request-message-b)에서 아래와 같은 답변을 찾았다. 이런 에러는 보통 충분하지 않은 메모리로 인해 발생한다고 한다. 실제로 아래의 명령을 적용해 보았을 때, 아무 이슈 없이 실행이 된다.

import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"

 

하지만, 뭔가 메모리가 부족하다기엔 아래의 명령어가 뭔가 중복된 라이브러리에 관계된 것으로 보여 다시 googling을 진행해본 결과 아래의 명령어는 OpenMP(Pytorch에서 사용하는 공유메모리 다중 처리 프로그래밍 API) 에게 OpenMP가 중복적으로 열려 있더라도 괜찮다는 표시를 해주는 것이라는 정보를 입수. 아, 그렇다면 Pytorch와 skimage를 loading하는 과정에서 OpenMP를 중복적으로 사용하는 것 같다는 느낌을 받았다. Pytorch 라이브러리를 불러오지 않고, skimage를 불러와보니 아무런 이슈없이 Loading 완료!

 결론은, skimage와 pytorch를 중복해서 사용하지 않는 것이 좋을 것 같고(저렇게 중복 적용을 허용하면 뭔가 문제가 발생하지 않을까라는 의문이 있어서..), 꼭 필요하다면 위의 명령어를 사용하는 것이 좋을 것 같다.