파이썬3
[scikit-learn] KneighborsClassifier의 OpenBLAS문제 해결법
TTSR
2024. 9. 12. 09:12
728x90
반응형
1. 개요
이해는 안되지만 scikit-learn의 KneighborsClassifier와 같이 OpenBLAS를 이용해 multi-core기능을 활용하는 것들의 경우 그냥 실행하면 에러와 함께 강제 종료되는 경우가 있다.
scipy가 업그레이드 되면 해결될거란 글도 봤지만 시도했던 것 중 된 것이 있어서 기록을 해둔다.
2. 해결책
해결책은 바로 OMP_NUM_THREADS 옵션을 조정하는 것이다. 이것은 OpenMP 라이브러리가 병렬 처리를 위해 사용하는 스레드 수를 설정하는 데 사용되는 환경 변수이다.
1) 터미널 상에서 지정하는 방식
# 터미널 창에서 아래의 명령어를 실행한다.
# 여기서 64는 컴퓨터의 threads에 적절히 맞춰서 사용해야한다.
export OMP_NUM_THREADS=64
2) 파이썬에서 지정하는 방식
import os
os.environ["OMP_NUM_THREADS"] = '64' # 사용할 threads 만큼 부여
728x90
반응형