Python 为什么scikit learn会切换到SequentialBackend?
我尝试在具有16个可用CPU的计算机上运行以下代码:Python 为什么scikit learn会切换到SequentialBackend?,python,machine-learning,scikit-learn,parallel-processing,grid-search,Python,Machine Learning,Scikit Learn,Parallel Processing,Grid Search,我尝试在具有16个可用CPU的计算机上运行以下代码: def标记器(文本): 返回text.split() param_grid=[{'vect___stop_words':[None,stop], 'vect__binary':[True,False]}] bow=计数向量器(ngram_范围=(1,1),标记器=标记器) 多重nb_bow=管道([('vect',bow),('clf',多项式nb())]) gs_multinb_bow=GridSearchCV(multinb_bow,参数
def标记器(文本):
返回text.split()
param_grid=[{'vect___stop_words':[None,stop],
'vect__binary':[True,False]}]
bow=计数向量器(ngram_范围=(1,1),标记器=标记器)
多重nb_bow=管道([('vect',bow),('clf',多项式nb())])
gs_multinb_bow=GridSearchCV(multinb_bow,参数网格,评分='f1_宏',
cv=3,verbose=1,n_jobs=-1)
gs_multinb_弓形配合(X_系列、y_系列)
我将n_jobs
设置为-1
,但是scikit learn
切换到SequentialBackend
,即使我添加了一个带有并行后端('loky')的上下文管理器:
,脚本仍然只使用一个并发工作线程运行
Fitting 3 folds for each of 4 candidates, totalling 12 fits
[Parallel(n_jobs=-1)]: Using backend SequentialBackend with 1 concurrent workers.
如果为n\u作业指定不同的值,则相同的结果仍然存在
为什么会这样?我最近在一个类似的任务上运行了一个似乎相同的代码,网格搜索在多个CPU上并行工作,正如n_jobs
使用LokyBackend
所指定的那样。嗨,你有没有可能找到Sklearn
切换到顺序后端的解决方案