Какой самый простой способ перейти от развертывания ACI к AKS? - PullRequest
0 голосов
/ 09 мая 2019

После решения Почему мое развертывание модели ML в экземпляре контейнера Azure по-прежнему не выполняется? и после развертывания в ACI я использую службу машинного обучения Azure для развертывания модели ML в качестве веб-службы на AKS.

Мой текущий (рабочий) код развертывания ACI

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

aciconfig = AciWebservice.deploy_configuration(cpu_cores=1, 
                      memory_gb=8, 
                      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
                      )

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

Я хотел бы изменить его так, чтобы он развертывался на AKS, но выглядит более замысловатым, чем я ожидал, поскольку я представлял себе переход от ACI к AKS (то есть от тестирования к производству) как обычную операцию. Тем не менее, кажется, что в коде нужно немного больше изменений, чем я думал:

  • AKS, кажется, требует InferenceConfig объект (?)
  • с AKS нет способа, подобного deploy_from_image для развертывания из моего существующего Docker image (?)

Можно ли выполнить развертывание на AKS, выполнив минимальные изменения вместо кода ACI?

1 Ответ

1 голос
/ 12 мая 2019

Из предоставленного вами кода при развертывании приложения в ACI с использованием метода Webservice.deploy_from_image с параметрами deployment_config и образом контейнера.Параметр deploy_config создает с помощью AciWebservice.deploy_configuration.

Когда вы посмотрите на ML об AKS, вы также можете найти метод AksWebservice.deploy_configuration.Так что вам просто нужно изменить метод AciWebservice.deploy_configuration на AksWebservice.deploy_configuration, тогда приложение можно будет развернуть из ACI в AKS.И это минимальные изменения.Также его можно развернуть из образа докера.

...