微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何迭代矩阵的索引?

如何解决如何迭代矩阵的索引?

在Python中,当我们想遍历具有任意维度的矩阵时,可以使用以下代码行:

for index in np.ndindex(data.shape[2:]):

例如:

> for index in np.ndindex(3,2,1):
>     print(index) (0,0) (0,1,0) (1,0) (2,0)
在Java中,

可以通过一种简单的方式使用确定数量的for循环来完成,但是前提是必须了解有关维的知识。但是在任意维度上,算法必须更加复杂。

ND4J lib中是否有用于迭代索引的内置方法

解决方法

在nd4j中,我们有一个NDIndexIterator,可让您遍历坐标。

这里是示例:

NdIndexIterator shapeIter = new NdIndexIterator(2,2);
//import org.nd4j.linalg.api.iter.NdIndexIterator;

long[][]  possibleSolutions = new long[][] {{0,0},{0,1},{1,};
for (int i = 0; i < 4; i++) {
    assertArrayEquals(possibleSolutions[i],shapeIter.next());
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。