我是不熟悉数据流和使用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不注册模型,因此没有路径。有人能够解决这个问题吗?部署模型的最佳方法是什么?