我是 databricks 和使用 mlflow 和 azureml 部署模型的新手,我正在尝试部署我的模型,但没有找到很多文档或示例。
我有我保存的模型:
mlflow.sklearn.save_model(model, model_path,
conda_env=conda_env_file_name)
我创建了工作区和 aci webservice,下一步是创建图像和 webservice:
# 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('model_path')
model = joblib.load(model_path)
它似乎找不到模型的路径。我不确定在保存图像的那一刻,模型没有保存在其中,因此 sklearn.load_model 找不到它。我很困惑,因为我已经看到可以使用 mlflow 或 azureml 部署模型。我认为问题在于 mlflow.save_model 没有注册模型,然后就没有路径了。有人能够解决这个问题吗?部署模型的最佳方式是什么?