4

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

注册了一个model,现在想将它部署为指南中的 ACI Web 服务。

为此,我定义

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")

并创建一个图像

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

图像创建成功

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

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

sudo docker run -p 8002:5001 myscorer0588419434.azurecr.io/scorer-image:5

允许我针对http://localhost:8002/score.

但是,部署与

service_name = 'scorer-svc'
service = Webservice.deploy_from_image(deployment_config = aciconfig,
                                        image = image,
                                        name = service_name,
                                        workspace = ws)

失败了

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

我尝试设置aciconfig更慷慨memory_gb,但无济于事:部署保持在过渡状态(如果在 Azure 门户上监视,如下图所示): 在此处输入图像描述

此外,跑步service.get_logs()给了我

WebserviceException:收到来自模型管理服务的错误响应:响应代码:404

什么可能是罪魁祸首?

4

1 回答 1

3

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

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

虽然抛出的错误消息不是特别有用,但实际上在文档中明确说明了这一点:

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

该文档还说明了不同区域可用 CPU/RAM 资源的最大值(在撰写本文时,memory_gb=32由于资源不足,需要在所有区域进行部署可能会失败)。

在需要较少资源的情况下,部署应该成功

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

于 2019-03-29T00:06:58.050 回答