在群集上运行网格搜索 CV 时 Azure ML Pipeline 失败

Posted

技术标签:

【中文标题】在群集上运行网格搜索 CV 时 Azure ML Pipeline 失败【英文标题】:Azure ML Pipeline fails while running a grid search CV on a cluster 【发布时间】:2021-12-24 05:36:57 【问题描述】:

我在 Azure ML 上将 gridsearchcv 实现为管道,但我不断收到错误消息,提示“用户程序因 TerminatedWorkerError 失败:执行程序管理的工作进程意外终止。这可能是由调用函数或过多的内存使用导致操作系统杀死工作人员。

worker 的退出代码是 SIGKILL(-9)"

我尝试更改软件包版本,但无法正常工作。当我将其作为脚本运行时,该代码运行良好且没有错误,但当我将其作为管道运行时却失败了。

知道如何解决这个错误吗?

【问题讨论】:

【参考方案1】:

这个错误... excessive memory usage causing the Operating System to kill the worker The exit codes of the workers are SIGKILL(-9).

谢谢will kinsman 和pnmartinez。发布您的建议作为帮助其他社区成员的答案。

这是由 n_jobs = -1 引起的,这意味着所有 CPU 中的并行化(直到 cpus 数组的最后一个元素,因此为 -1)。

您可以尝试在GridSearchCV 中删除n_jobs = -1 并将其放入classifier 或尝试n_jobs = 1 以停用并行化。

您可以参考Memory leak using gridsearchcv和TerminatedWorkerError

【讨论】:

以上是关于在群集上运行网格搜索 CV 时 Azure ML Pipeline 失败的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用管道和网格搜索运行随机森林分类器时出错

如何在 Azure 虚拟机中为在 Hyper-V 下运行的群集创建共享磁盘?

使用反向代理 localhost 在 Azure Service Fabric 中的 5 节点群集上不起作用

NServiceBus 终结点未在 Azure Service Fabric 本地群集上启动

Azure ML Studio ML Pipeline - 异常:未找到临时文件

在 Azure 中检查 Databricks 运行时的版本