0

簡単な mx.nd.onehot_encode 関数を使用しようとしていますが、解析が難しいエラーが発生します。これが私が試している使用例です。

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

これは、最初の要素のみが 1 に設定された 15 次元ベクトル (m0 と同じアドレス) を返すことを期待しています。代わりに、次のエラーが表示されます。

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 に答える