Обновление веб-службы Azure ML ModelManagement - PullRequest
0 голосов
/ 17 сентября 2018

ВНИМАНИЕ. Инструментальные средства машинного обучения Azure (предварительный просмотр) устарели. Рабочий процесс развертывания моделей, изображений и служб был обновлен с момента публикации этого вопроса.

Я разрабатывал модель машинного обучения для служб машинного обучения Azure, используя инструментальное средство машинного обучения Azure (предварительная версия). Мне удалось развернуть модель в виде веб-службы, как указано в Документация по машинному обучению Azure (предварительная версия) . Мне удалось запустить службу, и модель, манифест и образы настроены правильно. Пока все хорошо.

Но теперь я подошел к этапу, когда я хочу иметь возможность обновлять сервис новыми конфигурациями. И здесь я оказываюсь с большим количеством вопросов, чем ответов.

Я понял, что могу

  1. настроить новую модель
  2. настроить новый манифест, указывающий на эту модель
  3. настроить новое изображение, указывающее на этот манифест
  4. обновить существующий (или создать новый) сервис, чтобы он указывал на новый образ

Это кажется достаточно разумным. Но что, если мне просто нужно обновить манифест, можно ли будет пропустить настройку новой модели (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": ""
    }
}

Если я попытаюсь выполнить откат к предыдущему манифесту, сообщения об ошибке не будет, и все будет работать нормально. Это заставляет меня предположить, что что-то не так с моим новым манифестом и / или изображением. Однако при их создании нет предупреждений или ошибок.

Я попытался найти сообщения об ошибках, но ничего не нашел.

1 Ответ

0 голосов
/ 26 сентября 2018

Ошибка CrashLoopBackOff обычно означает, что у функции init () вашего файла Score.py есть проблема, например, при поиске или загрузке модели. Это также может означать, что вы используете библиотеку, которая не была импортирована. Azure ML только что объявил об обновлении предварительного просмотра с обновленным Python SDK (https://docs.microsoft.com/en-us/azure/machine-learning/service/quickstart-get-started). Есть учебники и тетради, которые показывают процесс более подробно с примерами. Я бы начал там.

https://docs.microsoft.com/en-us/azure/machine-learning/service/tutorial-deploy-models-with-aml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...