【问题标题】:A worker process managed by the executor was unexpectedly terminatedexecutor管理的worker进程意外终止
【发布时间】:2020-10-15 22:34:49
【问题描述】:

您好,我正在执行以下代码:

grid_params_bc = {
        'base_estimator': [best_knn, best_rf, best_l],
        'n_estimators': [10, 20, 50]
    }

    gs_bc = GridSearchCV(
        BaggingClassifier(),
        grid_params_bc,
        cv=10,
        verbose=1,
        n_jobs=-1,
        return_train_score=True,
        scoring='f1_micro'
    )

    clf_bc = gs_bc.fit(X_train, y_train)

但我收到以下错误:

执行器管理的工作进程意外终止。 这可能是由于调用 功能或内存使用过多导致操作系统 杀死工人。

反正我可以执行80的前34个任务。

为什么会发生这个错误?

谢谢

【问题讨论】:

标签: python scikit-learn


【解决方案1】:

在不知道您的数据细节或您使用的实际分类器的情况下,最好的猜测是您在系统上进行了过多的计算。正如错误消息所说,可能是内存使用过多。

您正在对BaggingClassifier 执行网格搜索,其中包含多达 50 个基本估计器,例如随机森林(至少看起来是这样)。由于默认情况下每个随机森林都包含 100 个决策树,因此这将是例如仅在这种情况下,就可以训练和测试 5000 个决策树。

尝试使用较少数量的基本估计器 n_estimators 并可能更改 n_jobs 参数。您必须尝试一下,但它应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2020-01-21
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    相关资源
    最近更新 更多