部署Azure ML实验服务时包含其他脚本

时间:2018-04-26 05:46:14

标签: python azure-machine-learning-studio azure-machine-learning-workbench

在训练我的模型时,我开始的数据包括json数据行和我想从json数据预测的期望值。 json数据遵循我部署的服务将接收输入的模式。在训练之前,我运行了许多python函数来转换数据并提取从原始json数据计算的特征。这是我的模型训练过的转换数据。

我已经提取了代码,将json数据转换为我的模型所需的输入到一个单独的python文件中。现在我想让我的评分脚本使用该python脚本来准备发送到服务的输入,然后再将其输入到我训练过的模型中。

使用cli命令部署我的服务时,是否可以使用评分脚本包含数据转换脚本:

az ml service create realtime 
    -f <scoring-script>.py 
    --model-file model.pkl 
    -s service_schema.json 
    -n <some-name> 
    -r python 
    --collect-model-data true 
    -c aml_config\conda_dependencies.yml

(为清晰起见,添加了上述命令中的新行)

我想出的两种方法是:

  • 创建我自己的包含转换脚本的基本docker镜像,并将该图像用作我的服务的基础。如果我需要为以后的模型进行类似(但不同的)数据转换,这似乎有点麻烦。
  • 将转换脚本与我的评分脚本连接成一个文件。看起来有点hacky。

还有另一种方法可以实现我在培训和评分中使用单独的数据转换脚本的目标吗?

1 个答案:

答案 0 :(得分:1)

因此,正在运行az ml service create realtime -h会提供有关-d标记的信息。

-d : Files and directories required by the service. Multiple dependencies can be specified with additional -d arguments.

请尝试使用此标记并提供您希望从score.py

中调用的其他python文件