我只是想使用sklearn.model_selection.cross_val_score在MNIST数据集上评估SGDClassifier。 我花了大约3分钟的6分钟。 我如何使用完整的系统电源来加快此过程(我的意思是使用从CPU到图形卡等的所有东西) 顺便说一下,我正在监视CPU使用率,它只消耗了54%的电量。
提前谢谢!
from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import cross_val_score
mnist = fetch_openml('mnist_784')
X, y = mnist['data'], mnist['target']
X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:]
y_train_5 = (y_train == 5)
y_test_5 = (y_test == 5)
sgd_clf = SGDClassifier(random_state=42)
sgd_clf.fit(X_train, y_train)
cross_val_score(sgd_clf, X_train, y_train, cv=3, scoring='accuracy')
答案 0 :(得分:0)
来自docs:
n_jobs: int或无,可选(默认=无)
用于执行计算的CPU数量。除非在joblib.parallel_backend上下文中,否则None表示1。 -1表示使用所有处理器。
即您可以使用所有可用的内核
cross_val_score(sgd_clf, X_train, y_train, cv=3, scoring='accuracy', n_jobs=-1)
或指定其他值n_jobs=k
,如果使用所有内核会使您的计算机运行缓慢或无响应。
这将使用更多的CPU内核;据我所知,scikit-learn中没有将计算量卸载到GPU的功能。