ВНИМАНИЕ. Инструментальные средства машинного обучения Azure (предварительный просмотр) устарели. Рабочий процесс развертывания моделей, изображений и служб был обновлен с момента публикации этого вопроса.
Я разрабатывал модель машинного обучения для служб машинного обучения Azure, используя инструментальное средство машинного обучения Azure (предварительная версия). Мне удалось развернуть модель в виде веб-службы, как указано в Документация по машинному обучению Azure (предварительная версия) . Мне удалось запустить службу, и модель, манифест и образы настроены правильно. Пока все хорошо.
Но теперь я подошел к этапу, когда я хочу иметь возможность обновлять сервис новыми конфигурациями. И здесь я оказываюсь с большим количеством вопросов, чем ответов.
Я понял, что могу
- настроить новую модель
- настроить новый манифест, указывающий на эту модель
- настроить новое изображение, указывающее на этот манифест
- обновить существующий (или создать новый) сервис, чтобы он указывал на новый образ
Это кажется достаточно разумным. Но что, если мне просто нужно обновить манифест, можно ли будет пропустить настройку новой модели (1) и просто начать обновление с (2) выше, и позволить ему указывать на существующую модель вместо новой? один
Я, конечно, попробовал это, вызвав следующее из CLI, и я застрял со следующим выводом:
>> az ml manifest create --manifest-name manifestname -f score.py -r python -c aml_config/conda_dependencies.yml -s outputs/schema.json -i [existing-model-id]
Creating new driver at /var/folders/tmp/tmp.py
Successfully created manifest
Id: [manifest-id]
>> az ml image create -n imagename --manifest-id [manifest-id-from-above]
Creating image............................................Done.
Image ID: [image-id]
>> az ml service update realtime -i [existing-service-id] --image-id [image-id-from-above] -v
Updating service..................................Failed
Found default kubeconfig in /Users/username/.kube/config using it
Using kubeconfig file: /Users/username/.kube/config
Kubectl exists in default location, adding it to PATH
loading kubeconfig file
Getting Replica sets from default namespace
Got hash ####
{
"Azure-cli-ml Version": null,
"Error": "Error occurred",
"Response Content": {
"CreatedTime": "2018-09-17T13:31:22.4230543Z",
"EndTime": "2018-09-17T13:34:18.0774994Z",
"Error": {
"Code": "KubernetesDeploymentFailed",
"Details": [
{
"Code": "CrashLoopBackOff",
"Message": "Back-off 40s restarting failed container=### pod=###"
}
],
"Message": "Kubernetes Deployment failed",
"StatusCode": 400
},
"Id": "###",
"OperationType": "Service",
"ResourceLocation": "###",
"State": "Failed"
},
"Response Headers": {
"Connection": "keep-alive",
"Content-Encoding": "gzip",
"Content-Type": "application/json; charset=utf-8",
"Date": "Mon, 17 Sep 2018 13:34:22 GMT",
"Strict-Transport-Security": "max-age=15724800; includeSubDomains; preload",
"Transfer-Encoding": "chunked",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "SAMEORIGIN",
"api-supported-versions": "2017-09-01-preview, 2018-04-01-preview",
"x-ms-client-request-id": "###",
"x-ms-client-session-id": ""
}
}
Если я попытаюсь выполнить откат к предыдущему манифесту, сообщения об ошибке не будет, и все будет работать нормально. Это заставляет меня предположить, что что-то не так с моим новым манифестом и / или изображением. Однако при их создании нет предупреждений или ошибок.
Я попытался найти сообщения об ошибках, но ничего не нашел.