2
精度を損なうことなくdoubleをNd4j.INDArrayに変換できません。INDArrayのJava doubleが精度を失う
double[] weight = new double[]{-0.13404223866376802,-0.11294084872465669,0.11232944517596409,-0.01687720880184701,0.13288394029423414,-0.06916641552096867,0.1518882606786481};
INDArray array = Nd4j.create(weight, new int[]{1, 7});
System.out.println(array);
出力は
[-0.13, -0.11, 0.11, -0.02, 0.13, -0.07, 0.15]
所望の出力は、完全な精度で変換する方法
[-0.13404223866376802,-0.11294084872465669,0.11232944517596409,-0.01687720880184701,0.13288394029423414,-0.06916641552096867,0.1518882606786481]
すべきですか?ですか
@LeoAsoが言っていることの背後にある点は、INDArrayが実際にデータを切り捨てるのではなく、ダブル全体に格納して操作することです。これはtoString()メソッドの機能です。彼の答えは、あなたが望む精度でINDArrayをフォーマットすることができます。 – andrewm921