Склеарн Джоблиб с n_jobs

При использовании scikit-learn parallel_backend можно указать количество заданий, запускаемых через n_jobs:

from sklearn.externals import joblib

with joblib.parallel_backend(n_jobs=2):
    searchcv_1.fit()

Однако, поскольку у меня несколько ядер, я бы хотел запустить еще один независимый GridSearchCV:

from sklearn.externals import joblib

with joblib.parallel_backend(n_jobs=4):  # increase n_jobs
    searchcv_1.fit(X1, Y1)
    searchcv_2.fit(X2, Y1)

Конечно, он по-прежнему выполняет каждый GridSearchCV последовательно, а не назначает два ядра каждому GridSearhCV.

Что я действительно хочу, так это выполнить две команды GridSearchCV на разных ядрах. Как я мог сделать это параллельно?

from sklearn.externals import joblib

with joblib.parallel_backend(n_jobs=2):
    searchcv_1.fit(X1, Y1)

# This is still sequential after searchcv_1.fit
with joblib.parallel_backend(n_jobs=2):
    searchcv_2.fit(X2, Y1)

0 ответов

Другие вопросы по тегам