使用onehot_encode错误输入格式的错误?

时间:2017-01-08 19:00:14

标签: mxnet

我正在尝试使用mx.nd.onehot_encode函数,这应该很简单,但是我遇到了难以解析的错误。以下是我正在尝试的示例用法。

m0 = mx.nd.zeros(15)
mx.nd.onehot_encode(mx.nd.array([0]), m0)

我希望这会返回一个15 dim向量(与m0相同的地址),只有第一个元素设置为1.相反,我得到错误:

src/ndarray/./ndarray_function.h:73: Check failed: index.ndim() == 1 && proptype.ndim() == 2 OneHotEncode only support 1d index.

ndarray都不是维度2,为什么我会收到此错误?我应该使用其他输入格式吗?

1 个答案:

答案 0 :(得分:1)

似乎mxnet.ndarray.onehot_encode要求目标ndarray明确地具有形状[1,X]。

我试过了:

m0 = mx.nd.zeros((1, 15))
mx.nd.onehot_encode(mx.nd.array([0]), m0)

它报告没有错误。