为什么我在Azure容器实例中的ML模型部署仍然失败?

问题描述 投票:1回答:1

我使用Azure机器学习服务将ML模型部署为Web服务。

registered a model现在希望将其部署为Qazxswpoi中的ACI Web服务。

为此我定义

the guide

from azureml.core.webservice import Webservice, AciWebservice
from azureml.core.image import ContainerImage

aciconfig = AciWebservice.deploy_configuration(cpu_cores=4, 
                      memory_gb=32, 
                      tags={"data": "text",  "method" : "NB"}, 
                      description='Predict something')

并创建一个图像

image_config = ContainerImage.image_configuration(execution_script="score.py", 
                      docker_file="Dockerfile",
                      runtime="python", 
                      conda_file="myenv.yml")

图像创建成功

创建图像图像创建操作已完成图像记分器 - 图像:5,操作“成功”

此外,通过在Azure VM上本地运行映像来对映像进行故障排除

image = ContainerImage.create(name = "scorer-image",
                      models = [model],
                      image_config = image_config,
                      workspace = ws
                      )

允许我成功运行(本地)查询sudo docker run -p 8002:5001 myscorer0588419434.azurecr.io/scorer-image:5

但是,部署用

http://localhost:8002/score

失败了

创造服务 运行。 FailedACI服务创建操作完成,操作“失败” 服务创建轮询到达终端状态,当前服务状态:转换 服务创建轮询到达终端状态,收到意外响应。转变

我尝试在qazxsw poi中设置更加慷慨的qazxsw poi,但无济于事:部署保持在转换状态(如下图所示,如果在Azure门户上进行监控):service_name = 'scorer-svc' service = Webservice.deploy_from_image(deployment_config = aciconfig, image = image, name = service_name, workspace = ws)

另外,运行aciconfig给了我

WebserviceException:从Model Management Service收到错误响应:响应代码:404

什么可能是罪魁祸首?

python docker deployment azure-container-instances azure-machine-learning-service
1个回答
0
投票

如果ACI部署失败,则一种解决方案是尝试分配更少的资源,例如,

memory_gb

虽然抛出的错误消息并不是特别有用,但实际上这在enter image description here中有明确说明:

当某个区域负载很重时,您可能会在部署实例时遇到故障。要缓解此类部署失败,请尝试部署具有较低资源设置的实例[...]

文档还说明了哪些是不同区域中可用的CPU / RAM资源的最大值(在撰写本文时,由于资源不足,需要使用service.get_logs()进行部署可能会在所有区域中失败)。

在需要更少的资源时,部署应该成功

创造服务 运行................................................. ..... SucceededACI服务创建操作完成,操作 “成功”健康

© www.soinside.com 2019 - 2024. All rights reserved.