0

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

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

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

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

ndarray 都不是 2 维,为什么会出现这个错误?我应该使用其他一些输入格式吗?

4

1 回答 1

1

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

我试过:

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

它没有报告错误。

于 2017-01-09T18:31:50.717 回答