4

因此,我在这里有一个 Azure 机器学习管道,其中包含许多PythonScriptStep任务 - 非常基本。

由于网络问题或其他原因,其中一些脚本步骤会间歇性地失败 - 真的没有什么意外。此处的解决方案始终是在 Azure 机器学习工作室的浏览器界面中简单地触发失败实验的重新运行。

尽管我尽了最大努力,但我还是无法弄清楚如何在脚本步骤对象、管道对象或任何其他 AZ ML 相关对象上设置重试参数。这是任何类型的管道中的常见模式:任务失败一次 - 在确定它实际失败之前重试几次。

请问有人给我指点吗?

编辑:一位乐于助人的用户为此建议了一个外部解决方案,它需要一个 Azure 逻辑应用程序来侦听 ML 管道事件并通过 HTTP 请求重新触发失败的管道。虽然这个解决方案可能对某些人有用,但它只会让您陷入另一个设置、调试和维护另一个外部组件的兔子洞。我正在寻找一个简单的“在任务失败时重试”选项,该选项(IMO)必须被纳入 Azure ML 管道框架,并且希望只是记录不佳。

4

1 回答 1

4

我假设如果脚本失败,您想重新运行整个管道。在这种情况下,使用逻辑应用程序非常简单。您需要的是以下内容:

  1. 你需要为你的管道创建一个 PipelineEndpoint,以便它可以由 Azure ML 之外的东西触发。
  2. 您需要设置一个逻辑应用来侦听失败的运行。请参阅以下内容:https ://medium.com/geekculture/notifications-on-azure-machine-learning-pipelines-with-logic-apps-5d5df11d3126 。您无需像该示例中那样向 Microsoft Teams 打印消息,而是通过其端点调用您的管道。
于 2021-08-09T12:29:26.777 回答