标签变量上的 MXNet 初始化错误

MXNet initialization error on label variable

当我调用 module.fit() 时出现错误 ValueError: Unknown initialization pattern for labelidx。 符号 "labelidx" 是我用于标签数据的名称——我不想使用 softmax_label 因为我没有使用 softmax 输出,但这似乎是很多事情。它似乎试图将 labelidx 初始化为参数,这是一个错误。我怎么能告诉它这是输入而不是学习参数?

我想通了。

构造Module对象时,需要告诉它数据的名称(data_names)和标签(label_names)。其中每一个都应该是一个字符串名称列表。默认情况下 data_names=('data',), label_names=('softmax_label',), 否则它会假定其他所有内容都是学习参数并会尝试初始化它们,从而导致此错误。文档:http://mxnet.io/api/python/module.html#mxnet.module.module.Module

所以在我的例子中它需要 Module(label_names=('labelidx',), ...)