Насколько я понимаю из документации API, n_jobs
должен контролировать количество потоков, запускаемых методами fit()
и predict()
.Это действительно так для моего ноутбука (четырехъядерный MacBook Pro i7), но когда я запускаю тот же код на сервере Linux, на котором установлены 2x 14-ядерных процессоров Xeon, я вижу сотни потоков, генерируемых процессом python.Есть что-то не так?
def getRFClassifier():
return RandomForestClassifier(n_estimators=args.ntrees, min_samples_leaf=10, n_jobs=args.nthreads, class_weight="balanced_subsample")
У меня есть ntrees=1000
и nthreads=-2
(я также пытался -1 и уменьшить число до 20) Я все еще получаю ПУТЬ слишком много процессов, чем ожидалось.
Перед началом обучения:
После:
Что-нибудь, что я мог пропустить?