我正在尝试按照documentation(实际指向mathworks的链接)中的描述来置换数组。
但我的代码不会重现结果。实际上,似乎我的代码什么也没做:
INDArray foobar = Nd4j.linspace(0, 2, 3);
System.out.println("foobar = " + foobar);
System.out.println("foobar.permute(2, 1, 0) = " + foobar.permute(2, 1, 0));
foobar
和foobar.permute
的输出相同。
我在哪里陷入困境?
可选:有关如何使用更高维度(如2d或3d矩阵)进行置换工作(语法方式)的任何信息都将受到赞赏。
答案 0 :(得分:0)
根据您链接的文档,permute方法用于置换多维数组的维度。 Nd4j.linspace创建一个向量(一维数组)。由于只有一个维度,因此没有其他维度可以对其进行置换。另一方面,Mathworks上的示例创建了一个三维数组,并置换了第一维和第三维。
听起来你的意图是要置换数组的各个元素(而不是整个维度)。我还没有在Nd4j中看到过这种方法。