sklearnのRandomForestClassifierモデルを構築してトレーニングしています。私は最近、n_jobs変数について、訓練と予測のために並列処理を使用することが分かった。しかし、それは私が探しているのと反対の効果があるようです。Sklearn並列処理がドッカーコンテナで動作しない
n_jobsが割り当てられていない場合(デフォルトは1)、トレーニング/予測では1つのコアのみが使用されます。私は "トップ"を実行しているときに100%のCPU使用量を見ることができます。しかし、私はそれを4、または-1(コアの数、4)にバンプすると、CPU使用率が25%に低下します。
これまでに解決策を知っている人はいませんか?
4つのpythonプロセスが実行中であるかどうかを確認できますか?私はウィンドウを使用しており、これはタスクマネージャーから見ることができます。私が1に設定すると、私は1つのpythonプロセスしか見ることができません。-1を設定すると、私は8つのコアを持つので、私は8つのpythonプロセスを見ます。パーセンテージは他の事実に依存しますが、ポイントは並列実行を参照することです – sera
いいえ。私はちょうどw/n_jobs = 4を試しました。1つのpythonプロセスがCPUの28%から40%の間で動作しています。 – cghill
あなたはn_jobs = -1を設定し、あなたに何を見せてくれますか?また、窓を使いますか? – sera