1

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

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

所以我的问题是:

  • 我应用什么函数来调用这个 dprep 包?

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

    • 有没有切换到-f乐谱文件?

我浏览了整个文档Workbench Repo,但似乎找不到任何示例。

我们欢迎所有的建议!

谢谢!

编辑:

设想:

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

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

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

  4. 现在我有一个模型可以部署了。

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

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

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

4

2 回答 2

0

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

从此文档中,您将从azureml.dataprep包中导入。

那里没有任何示例,但是在 GitHub 上搜索,我发现了这个文件,其中包含以下内容来运行数据准备。

from azureml.dataprep import package

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

希望有帮助!

于 2018-06-22T11:23:43.020 回答
0

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

文档中:

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

于 2018-09-02T16:37:15.080 回答