如何解决Azure ML服务部署问题?

时间:2019-03-21 16:26:14

标签: python azure deployment azureportal azure-machine-learning-service

我正在尝试Azure Machine Learning Service来将ML模型部署为Web服务。

我已经registered a model,现在想在guide之后使用Azure(Python)笔记本将其作为Web服务部署。

步骤

 service = Webservice.deploy_from_model(my-model-svc',
                                   deployment_config=aciconfig,
                                   models=[model],
                                   image_config=image_config)

对我来说失败

  

创建图像
  图像my-model-svc:5的图像创建操作完成,操作“成功”,创建服务
  跑步。
  ACI服务创建操作失败,操作
  “失败”服务创建轮询已达到终端状态,当前   服务状态:正在过渡的服务创建轮询已到达终端   状态,收到意外响应。

不确定是什么根本原因,因为(AFAIK)我无法访问Azure门户中部署的日志。

有人可以阐明这一点吗?

2 个答案:

答案 0 :(得分:2)

我认为您的init函数失败。我首先尝试将映像创建与映像部署隔离开来,然后先测试映像:

  • 首先创建图像,如果通过界面创建图像就可以了
  • 使用Docker在本地拉映像(为此,您需要安装DockerAzure CLI):
az acr login -n <container-registry>
docker run -p 8000:5001  <container-registry>.azurecr.io/<image-name>:<image-version>
# basically, the entire image location, see pic below
  • 在本地测试图像,它在8000端口上监听:
POST http://localhost:8000/score
Content-Type: application/json
  • 如果可以的话,将其部署到ACI上

<container-registry>是与ML工作区关联的Container Registry的名称,您也可以从图像位置提取它,注意删除第一个点之后的所有内容:

image location

答案 1 :(得分:0)

作为附加答案,

service.get_logs()
如果在没有中间docker映像的情况下从模型进行部署,

非常有用。