AzureML:对一个子集而不是整个数据集进行实验

AzureML: experiment working for a subset and not for the whole dataset

前段时间我在 AzureML 会议 "out of memory" 问题中编写了代码。因此,我尝试将代码拆分为三个不同的代码,并且部分起作用了。它仍然是(我认为)受内存问题影响的一部分。

我创建了一个实验,并在此 link 中发表。

有一个模块只考虑我的数据集的一个样本,它确实有效。这意味着代码应该可以正常工作。如果去掉采样代码(从顶部开始的第二个模块)

而你直接连接原始数据集你有以下情况

产生以下错误:

有人有办法了解 Azure 崩溃的地方吗?

谢谢你,

安德里亚

非常感谢您发布示例——这确实有助于理解问题。我怀疑您想通过向每个调用添加参数“fixed=TRUE”来修改脚本中的 gsub() 调用。 (此函数的文档是 here。)

似乎发生的事情是,在您的完整数据集中的某处——但​​不在子采样数据集中——有一些文本最终被包含在 df[i, "names"] 中作为“(art.” .您的脚本将其填充为“\b(art.\b”。 gsub() 函数试图将其解释为正则表达式而不是简单的字符串,然后抛出错误,因为它不是有效的正则表达式:它包含左括号但没有右括号。我相信您实际上不希望 gsub() 首先将输入解释为正则表达式,指定 gsub(..., fixed=TRUE) 将更正这一点。

我认为当您添加 sample/partition 模块时此错误消失的原因是,偶然地,有问题的输入值在二次采样时被丢弃了。我认为这不是 Azure ML 上可用资源的问题。 (警告:我无法确认修复是否有效;我进行了建议的更新并开始了 运行 实验,但尚未成功完成。)