Я использую службу машинного обучения Azure для развертывания модели ML в качестве веб-службы.
I зарегистрировал model
и теперь хотел бы развернуть его как веб-службу ACI какв руководство .
Для этого я определяю
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 с
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
Что может быть виновником?