如何将dprep包应用于score.py Azure Workbench中的传入数据

问题描述 投票:1回答:2

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

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

所以我的问题是:

  • 我应用什么函数来调用这个dprep包? 是吗:run_on_data(user_config, package_path, dataflow_idx=0, secrets=None, spark=None)
  • 从CLI创建Web服务时,如何将其捆绑到映像中? 有没有切换到-f得分文件?

我扫描了整个documentationWorkbench Repo,但似乎无法找到任何例子。

我们欢迎所有的建议!

谢谢!

编辑:

场景:

  1. 我从实时数据库导入我的数据,假设这个数据集有10列。
  2. 然后,我使用Workbench对此(.dsource)数据集进行特征设计,从而生成一个.dprep文件,该文件可能包含13列。
  3. 然后将此.dprep数据集导入为pandas DataFrame,并用于训练和测试我的模型。
  4. 现在我准备好部署模型了。
  5. 该模型通过模型管理部署到容器服务,并将从实时数据库提供数据,该数据库将再次为原始格式(10列)。
  6. 显然,该模型已经在变换数据(13列)上进行了训练,并且无法对10列数据集进行预测。

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

azure azure-machine-learning-studio azure-machine-learning-workbench
2个回答
0
投票

我相信我可能找到了你需要的东西。

this documentation您可以从azureml.dataprep包装进口。

那里没有任何例子,但是在GitHub上搜索,我找到了this file,它具有以下功能来运行数据准备。

from azureml.dataprep import package

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

希望有所帮助!


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文件)的绝对路径映射到表示为列表列表的内存数据源。

© www.soinside.com 2019 - 2024. All rights reserved.