azure机器学习服务在模型部署期间包含其他文件(第2部分)



既然我们不应该问问题回答问题,我在这里发布这个额外的问题。它引用了这里找到的问题/答案:Azure ML:在模型部署期间包含其他文件

问题:在我的评分脚本中,我需要在调用模型之前引用文件中的数据以进行额外的数据修改。

选项# 2中引用链接(使用InferenceConfig指定一个文件夹作为源目录)似乎是我所需要的东西。但是,当我试图访问评分脚本中包含的文件时,我得到一个错误消息,该文件不存在。我相信我做错了什么事,但我不确定是什么。

我的工作是在Azure ML工作室严格进行。
我有一个目录,可以找到我的评分脚本和我想包含的pickle文件。这也是Jupyter Notebook脚本被发现的地方,它推动了这些东西的创造。路径看起来像这样:Users->myname->myfolder

评分脚本名为score.py。pickle文件是mypickle.pkl。

score.py中的代码读取文件。这段代码可以在run()方法中找到。

filename="./mypickle.pkl"
df = pd.read_pickle(filename)

InferenceConfig叫:

inference_config = InferenceConfig(
environment=environment,
source_directory="./",
entry_script="./score.py"
)

模型部署得很好,但是当测试部署的模型(又名端点)时,我收到了错误[Errno 2]没有这样的文件或目录:'mypickle.pkl'">

想法吗?

在模型部署创建的容器(在Azure Portal中)中,我找到了答案。

有一个值AZUREML_SOURCE_DIRECTORY,它包含source_directory文件存储的路径。

所以在评分脚本

中不使用这些代码
filename="./mypickle.pkl"
df = pd.read_pickle(filename)

应该是这个代码。

path = os.getenv('AZUREML_SOURCE_DIRECTORY') 
filename = os.path.join(path, 'mypickle.pkl')
df = pd.read_pickle(filename)

相关内容

  • 没有找到相关文章

最新更新