-1

我有一个使用 Azure ML 工作区的 autoML 功能训练的 StackEnsemble 模型。当我尝试将其部署为 Web 服务时,我收到如下错误 (CrashLoopBackOff)。现在,我强烈怀疑它与模型本身/它需要的依赖关系有关。当我将 score.py 中的模型名称交换为另一个模型名称时,它不是 StackEnsemble(带有缩放器),而只是一个普通的 XGBoost,然后创建的服务没有问题。

我有以下问题: - 我如何找出 StackEnsemble 中的模型/算法,以便正确构建容器/依赖项列表?- 有什么方法可以找出那里的实际错误是什么?我的意思是除了创建我的本地容器并在那里调试它......我尝试根据文档使用 service.get_logs() 获取日志,但那里什么都没有,只有最后 5 行没有指出任何问题。

请指教。

WebserviceException: Service deployment polling reached non-successful terminal state, current service state: Failed
Error:
{
  "code": "AciDeploymentFailed",
  "message": "Aci Deployment failed with exception: Your container application crashed. This may be caused by errors in your scoring file's init() function.\nPlease check the logs for your container instance: classifier-bwp-ls5923-v1. From the AML SDK, you can run print(service.get_logs()) if you have service object to fetch the logs. \nYou can also try to run image mlws219f9669.azurecr.io/classifier-bwp-ls5923-v1:4 locally. Please refer to http://aka.ms/debugimage#service-launch-fails for more information.",
  "details": [
    {
      "code": "CrashLoopBackOff",
      "message": "Your container application crashed. This may be caused by errors in your scoring file's init() function.\nPlease check the logs for your container instance: classifier-bwp-ls5923-v1. From the AML SDK, you can run print(service.get_logs()) if you have service object to fetch the logs. \nYou can also try to run image mlws219f9669.azurecr.io/classifier-bwp-ls5923-v1:4 locally. Please refer to http://aka.ms/debugimage#service-launch-fails for more information."
    }
  ]
}
4

1 回答 1

0

我不确定如何让模型在 Ensemble 中使用,但与此同时,您可以尝试其他一些事情来减轻自己的负担。

当您的服务卡在 CrashLoopBackoff 中时,它将继续重新启动,这意味着日志将继续被擦除,因为它们存储在容器本身上。这里的一个快速解决方法是get_logs()多次运行该函数以查看所有正在发生的事情。

要获取历史信息,请确保appInsightsEnabled在 InferenceConfig 中进行了设置,以便您可以跟踪附加到工作区的 AppInsights 中的日志。

除了依赖项不匹配之外,CrashLoopBackoff 最常见的原因是服务没有获得足够的内存来实际加载模型并对其进行评分。尝试增加服务的内存预留。

于 2019-08-08T15:37:33.347 回答