如何在不更改评分URL的情况下更新已部署的Azure ml Web服务中的scoring.py文件

问题描述

我已经在ACI中部署了一个模型,现在我想更改我的Web服务的Scoring.py文件。我已经尝试过下面的代码,但它给了我错误

inf_conf = InferenceConfig(entry_script="dcp_pi_main_scoring.py")

#service_name = 'binary-test'
# Retrieve existing service.
service = Webservice(name='binary-test',workspace=ws)
service.update(inference_config=inf_conf)
service.wait_for_deployment(show_output=True)

以上代码给我的错误是:

AttributeError: 'nonetype' object has no attribute 'lower'

有人可以帮我吗

解决方法

在部署推理脚本时,除了输入脚本(score.py)之外,inferenceConfig还允许您指定包含输入脚本以及所有其他python代码的源目录(软件包作为子目录包含在子目录中)拥有自己的init.py或普通的python脚本文件模块)。

score.py脚本可以直接从它们导入,因为包括score.py和所有其他文件夹的整个文件夹在推理运行环境中都可用。 https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py