Azure 机器学习 - 批处理执行部分工作

Azure Machine Learning - batch execution partially working

我一直在关注这个 gallery sample 但我似乎无法在一项工作中批量执行 return 多个分数。

一切正常,即可以部署预测网络 API 并请求单一评分。但是每当我发送带有多个请求的批处理执行作业(使用 sample C# codes)时,例如:

ID1,ID2
1,2
3,1
5,1

Azure ML 只会 return 第一个请求 1,2 的预测分数,而不是其他行的预测分数。

我不确定我哪里做错了,但我应该期待所有三个请求的结果。如有任何帮助,我们将不胜感激!

您似乎选择了一个不幸的示例:零售预测 Web 服务中的自定义脚本明确删除了第一个 ID 对以外的所有内容。要查看这一点,请尝试加载 "Retail Forecasting: Step 6A of 6" 实验并查看 "Create a complete time series. Add future time stamps" 模块中的代码。您会发现以下内容:

all.time <- data.frame(ID1 = data$ID1[1], ID2 = data$ID2[1], time = all.time)
data <- join(all.time, data, by = c("ID1", "ID2", "time"), type = "left")
maml.mapOutputPort("data");

左连接语句将忽略 data$ID1 != data$ID1[1] 和 data$ID2 != data$ID2[1] 的任何行。这就是为什么您会丢失除第一个 ID 对之外的所有内容的原因。

似乎在单个作业中对多个 ID 对进行批量预测并不是自定义脚本作者为其 Web 服务设想的用例。如果你精通 R 并且对这个用例特别感兴趣,你可以修改这个实验中的脚本以支持同时处理多个时间序列。否则,您可能只想尝试另一个示例实验。