Nd4J:获取存在值的索引



如何在存在某个值的地方获取索引。数字:

import numpy as np
myArr = np.array()
index = np.where(myArr == someValue)
// Output: an index value consisting rows and cols will be given

在ND4J中,我已经到达这里,但我不知道在条件参数中放什么

INDArray index = myArr.getWhere(someValue, condition=??);

换句话说,如何在ND4J中的INDArray中找到元素?

BooleanIndexing。我认为firstIndex(INDArray,Condition(就是您想要的。

只需使用Conditions.equals

首次导入Conditions

import org.nd4j.linalg.indexing.conditions.Conditions;

然后:

myArr.getWhere(someValue, Conditions.equals(1));

您可以使用org.nd4j.finalg.factory.nd4j where函数,只需提供null作为第二个和第三个参数。

import org.nd4j.linalg.api.ndarray.INDArray;
import org.nd4j.linalg.factory.Nd4j;

public class Main1 {
public static void main(String[] args) {
INDArray array = Nd4j.create(new double[]{1.0, 4.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0});
double someValue = 1.0;
INDArray indexes = Nd4j.where(array.eq(someValue), null, null)[0];
System.out.println(indexes);
}
}

最新更新