В большинстве оценок в scikit-learn в n_jobs
параметре fit
/ predict
method есть параметр для создания параллельных заданий с использованием joblib
. Я заметил, что его установка -1
создает всего 1 процесс Python и максимально увеличивает количество ядер, в результате чего загрузка ЦП достигает 2500% сверху. Это сильно отличается от установки некоторого положительного целого числа> 1, которое создает несколько процессов Python при ~ 100% использовании.
Как его настройка влияет на использование процессора и ядра на многопроцессорном сервере Linux? (например, если n_jobs=8
тогда 8 процессоров полностью заблокированы или процессоры все еще резервируют некоторые ядра для других задач / процессов?)
Кроме того, я получаю время от MemoryError
времени при настройке n_jobs=-1
больших наборов данных. Тем не менее, использование памяти обычно колеблется в пределах 30-40% для одного процесса Python. Как данные и память управляются / копируются в зависимости от значения n_jobs
?