Развертывание модели ml с использованием Azureml и mlflow - PullRequest
2 голосов
/ 30 мая 2019

Я новичок в кирпичах данных и развертывании моделей с использованием mlflow и azureml. Я пытаюсь развернуть свою модель, но не нашел много документации или примеров.

У меня есть модель, которую я сохраняюиспользуя:

mlflow.sklearn.save_model(model, model_path, 
                          conda_env=conda_env_file_name)

Я создал рабочую область и веб-сервис ACI, следующий шаг должен создать изображение и веб-сервис:

# image creation
from azureml.core.image import ContainerImage
myimage_config = ContainerImage.image_configuration(execution_script = driver_file, 
                                                    runtime = "python", 
                                                    conda_file = conda_env_file_name)

# Webservice creation
myservice = AciWebservice.deploy_from_model(
  workspace=ws, 
  name="service",
  deployment_config = aciconfig,
  models = [model_path],
  image_config = myimage_config)

myservice.wait_for_deployment(show_output=True)

Однако, когда я пытаюсь создать веб-сервис, яполучаю сообщение об ошибке и просматриваю журнал:

mlflow.exceptions.MlflowException: Could not find an "MLmodel" configuration file at "mode_path"

Моя функция инициализации файла оценки выглядит следующим образом:

def init():
    global model
    # retreive the path to the model file using the model name
    model_path = Model.get_model_path('model_path')
    model = joblib.load(model_path)

Похоже, он не может найти путь к модели.Я не уверен, что в тот момент, когда изображение сохраняется, модель не сохраняется в нем, и, следовательно, он не может быть найден с помощью sklearn.load_model.Я в замешательстве, потому что видел, что модель можно развернуть с помощью mlflow или azureml.Я думаю, что проблема в том, что mlflow.save_model не регистрирует модель, и тогда нет пути.Кто-нибудь смог решить это?Каков наилучший способ развертывания модели?

...