使用Azureml和mlflow部署ml模型

时间:2019-05-30 00:16:02

标签: web-services deployment mlflow

我是不熟悉数据流和使用mlflow和azureml部署模型的人,我正尝试部署我的模型,但没有找到很多文档或示例。

我有要保存的模型:

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

我创建了工作区和aci Web服务,下一步是创建图像和Web服务:

# 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)

但是,当我尝试创建Web服务时,出现错误并查看日志:

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('mode_path')
    model = joblib.load(model_path)

似乎找不到模型的路径。我不确定在保存图像的那一刻,没有在其中保存模型,因此无法通过sklearn.load_model找到它。我很困惑,因为我已经看到可以使用mlflow或azureml部署模型。我认为问题在于mlflow.save_model不注册模型,因此没有路径。有人能够解决这个问题吗?部署模型的最佳方法是什么?

0 个答案:

没有答案