当我设置 n_jobs=-1 时,我会收到错误,如果我将 n_jobs 设置为等于 big value (n_jobs=100),但如果设置较小的值(例如 n_jobs=32),则效果很好。我尝试过 reinstall scikit-learn 和 joblib 软件包,但无济于事。另外,它(n_jobs=-1)以前工作正常,但突然出错了。
from sklearn import datasets
from sklearn.model_selection import cross_validate, StratifiedKFold
from sklearn.linear_model import RidgeClassifier
iris = datasets.load_iris()
iris_X = iris.data
iris_y = iris.target
skf = StratifiedKFold(n_splits=5, random_state=0, shuffle=True)
scoring = {'accuracy': 'accuracy'}
model_ridge = RidgeClassifier(random_state=0)
scores = cross_validate(estimator=model_ridge,
X=iris_X,
y=iris_y,
scoring=scoring,
cv=skf.split(iris_X, iris_y),
n_jobs=-1)
线程 QueueManagerThread 中出现异常:
回溯(最近一次调用最后一次): 文件“C:\ProgramData\Anaconda3 nvs\py36\lib hreading.py”,第 916 行,位于 _bootstrap_inner 中 自我运行()
文件“C:\ProgramData\Anaconda3 nvs\py36\lib hreading.py”,第 864 行,运行中 self._target(*self._args, **self._kwargs)
文件“C:\ ProgramData \ Anaconda3 nvs \ py36 \ lib \ site-packages \ sklearn xternals \ joblib xternals \ loky \ process_executor.py”,第615行,在_queue_management_worker中 准备好=等待(读者+worker_sentinels)
文件“C:\ProgramData\Anaconda3 nvs\py36\lib\multiprocessin