Склеарн Джоблиб с 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)