Контролировать количество ядер CPU Sklearn MLPClassifier использует? - PullRequest
0 голосов
/ 10 февраля 2019

MLPClassifier в sklearn.neural_network, похоже, использует много доступных ядер ЦП, то есть процесс python начинает использовать 50% вычислительной мощности при подгонке модели.Как это предотвратить?Является ли это возможным?Из документации видно, что нет параметра n_jobs для управления этим поведением.Я использую sklearn версии 0.20 из ноябрьского дистрибутива Winpython.Это нормально на моем ноутбуке, но не на сервере, который используют другие.

1 Ответ

0 голосов
/ 11 февраля 2019

Не могли бы вы обернуть ваш MLPClassifier в GridSearchCV?Использование GridSearchCV позволит вам установить n_jobs, и при желании вы можете использовать ShuffleSplit, если вы хотите запустить GridSearchCV без перекрестной проверки.

Например:

from sklearn.neural_network import MLPClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import GridSearchCV, ShuffleSplit

X,y = make_classification(n_samples=100000)
mlp = MLPClassifier()

grid = GridSearchCV(mlp, {}, n_jobs=1, cv=ShuffleSplit(n_splits=1),
                    verbose=2)
grid.fit(X,y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...