我正在尝试使用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,为什么我会收到此错误?我应该使用其他输入格式吗?
答案 0 :(得分:1)
似乎mxnet.ndarray.onehot_encode要求目标ndarray明确地具有形状[1,X]。
我试过了:
m0 = mx.nd.zeros((1, 15))
mx.nd.onehot_encode(mx.nd.array([0]), m0)
它报告没有错误。