首页 > 解决方案 > 在 Azure Container Regisrty 上使用自定义 Docker 映像部署 Azure 机器学习模型

问题描述

我想使用Azure 机器学习服务在 Azure 上训练Azure 机器学习模型。但我想使用自定义 Docker 映像在 azure 上部署模型。我无法理解如何使用自定义 Docker 映像部署机器学习模型。

如果有任何关于使用自定义图像部署 ml 模型的教程或博客,请与我分享。

请检查以下 Docker 文件命令:-

# Set locale
RUN apt-get update
RUN apt-get install locales
RUN locale-gen en_US.UTF-8
RUN update-locale LANG=en_US.UTF-8

# Install MS SQL v13 driver for PyOdbc
RUN apt-get install -y curl
RUN apt-get install apt-transport-https
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - 
RUN curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN exit
RUN apt-get update

RUN ACCEPT_EULA=Y apt-get install -y msodbcsql
RUN apt-get install -y unixodbc-dev

我想使用Azure Container Registry推送 Docker 映像并使用自定义 Docker 映像。请让我知道是否有任何方法。

有什么方法可以使用自定义 docker 映像部署 Azure ML 模型?

标签: pythonpython-3.xazuredockerazure-machine-learning-service

解决方案


您可以执行以下操作:

  1. 使用在 Docker 部分中指定的自定义 Docker 映像的坐标创建一个 [Environment][1]。
  2. 使用该 Environment 作为参数创建 [InferenceConfig][2],并在部署模型时使用它。

例如,假设您已经有一个模型并省略了其他参数:

from azureml.core.environment import Environment
from azureml.core.model import InferenceConfig

env = Environment(name="myenv")
env.docker.base_image = "mybaseimage"
env.docker.base_image_registry.address = "ip-address"
env.docker.base_image_registry.username = "my-username"
env.docker.base_image_registry.password = "my-password"

ic = InferenceConfig(…,environment = env)
model.deploy(…,inference_config = ic)

  [1]: https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.environment?view=azure-ml-py
  [2]: https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py

推荐阅读