scikit-learnのほとんどの推定器には、/を使用して並列ジョブを作成するためのn_jobs
パラメーターがあります。これを設定すると、Pythonプロセスが1つだけ作成され、コアが最大になるため、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
ますか?