如何将dprep包应用于score.py Azure Workbench

时间:2018-06-22 10:45:53

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

我一直在想,是否可以对score.py中的传入数据应用“数据准备”(.dprep)文件,类似于如何应用管道对象。这对于模型部署非常有用。为了找出答案,我在MSDN论坛上提出了这个问题,并收到response确认这是可能的,但很少说明如何实际执行。答复是:

  

在您的score.py文件中,您可以从Python调用dprep包   SDK会将相同的转换应用于传入的评分数据。   确保将.dprep文件捆绑在正在构建的映像中。

所以我的问题是:

  • 我应使用什么函数来调用此dprep软件包?

    • 是:run_on_data(user_config, package_path, dataflow_idx=0, secrets=None, spark=None)吗?
  • 从CLI创建Web服务时,如何将其捆绑到映像中?

    • 分数文件是否切换到-f

我已经浏览了整个documentationWorkbench Repo,但似乎找不到任何示例。

任何建议将不胜感激!

谢谢!

编辑:

场景:

  1. 我从实时数据库中导入数据,假设此数据集有10列。

  2. 然后我使用工作台对这个(.dsource)数据集进行特征工程师设计,生成一个可能有13列的.dprep文件。

  3. 然后将此.dprep数据集作为pandas DataFrame导入,并用于训练和测试我的模型。

  4. 现在我有一个可供部署的模型。

  5. 该模型通过模型管理部署到容器服务,并将从实时数据库中馈送数据,该数据库将再次具有原始格式(10列)。

  6. 显然,此模型已经过转换数据(13列)的训练,将无法对10列数据集进行预测。

我可以在'score.py'文件中使用什么功能来应用在工作台中创建的相同转换?

2 个答案:

答案 0 :(得分:0)

我相信我可能已经找到了您需要的东西。

您将从azureml.dataprep包中导入this documentation

那里没有任何示例,但是在GitHub上搜索时,我发现this file具有以下运行数据准备的功能。

from azureml.dataprep import package

df = package.run('Data analysis.dprep', dataflow_idx=0)

希望有帮助!

答案 1 :(得分:0)

在我看来,这可以通过使用run_on_data(user_config, package_path, dataflow_idx=0, secrets=None, spark=None)模块中的azureml.dataprep.package方法来实现。

来自documentation

  

run_on_data(user_config, package_path, dataflow_idx=0, secrets=None, spark=None)基于内存数据源运行指定的数据流,并将结果作为数据帧返回。 user_config参数是一个字典,它将数据源(.dsource文件)的绝对路径映射到表示为列表列表的内存中数据源。