scikit-learn의 대부분 추정기에는를 사용하여 병렬 작업을 작성하기위한 / 메소드에 n_jobs
매개 변수가 있습니다. 이 프로세스 를 설정 하면 단 하나의 Python 프로세스 가 생성되고 코어가 최대가되어 CPU 사용량이 2500 %를 초과하는 것으로 나타났습니다 . 이것은 양의 정수> 1로 설정하는 것과는 매우 다르며 ~ 100 % 사용으로 여러 Python 프로세스를 만듭니다.fit
predict
joblib
-1
이 설정은 다중 CPU Linux 서버의 CPU 및 코어 사용량에 어떤 영향을 줍니까? (예를 들어 n_jobs=8
8 개의 CPU가 완전히 잠겨 있거나 CPU가 다른 작업 / 프로세스를 위해 여전히 일부 코어를 예약합니까?)
또한 큰 데이터 세트를 MemoryError
설정할 때 가끔씩 나타납니다 n_jobs=-1
. 그러나 메모리 사용량은 일반적으로 단일 Python 프로세스의 경우 약 30-40 %입니다. 의 값에 따라 데이터 및 메모리를 어떻게 관리 / 복사 n_jobs
합니까?