首页 > 解决方案 > Azure 机器学习 (AML) 如何确定输入在训练数据中的“类型”,因为这会导致错误

问题描述

我们基于具有许多输入的大型训练数据集在 AML 中训练了一个网络。对于其中一个输入,提供的所有训练数据都是整数。在我们的模型中,我们没有指定输入字段的类型,并且此输入是连续字段而不是离散字段。

然而,在生产中使用时,调用 AML Web 服务时将此输入作为十进制而不是实数提供,并引发错误:

Error Content: {"error":{"code":"BadArgument","message":"Invalid argument provided.","details":[{"code":"InputParseError","target":"input1","message":"Parsing of input vector failed.  Verify the input vector has the correct number of columns and data types.  Additional details: Input string was not in a correct format.."}]}}

如果我编辑调用以将输入从小数更改为整数,则它可以完美运行。

在我们更改模型或调用代码之前,我想了解此错误是如何/为什么发生的?

我做了一些研究,似乎找不到任何解释 AML 如何决定输入“类型”以及它是否可以在模型中更改的东西。

标签: azure-machine-learning-studio

解决方案


持续搜索网络已经揭示了正确的答案(无论如何对我来说)。本质上,我需要将“编辑元数据”模块添加到我的实验中,然后使用列选择器选择有问题的列并将其数据类型从整数设置为浮点数。似乎 AML 检测到所有训练数据都是整数类型,因此在导入训练数据时自动选择了这种数据类型。

有关更多详细信息,请参见此处:https ://docs.microsoft.com/en-us/azure/machine-learning/studio-module-reference/edit-metadata


推荐阅读