ND4J: Почему случайные числа отличаются даже тогда, когда указано одинаковое начальное число? - PullRequest
0 голосов
/ 04 мая 2020

Я хочу создать такое же отправленное случайное число, когда задано фиксированное начальное число. Для этого я нашел несколько классов из nd4j документации. Но сгенерированное случайное число отличается. В чем может быть причина и как добиться того же набора случайных чисел, что и для генератора случайных чисел по умолчанию java выходов?

        java.util.Random origRand = new java.util.Random();
        org.nd4j.linalg.api.rng.DefaultRandom nd4jRand = Nd4j.getRandom();
        org.nd4j.linalg.api.rng.DefaultRandom nd4jRand2 = new DefaultRandom();

        origRand.setSeed(givenSeed);
        nd4jRand.setSeed(givenSeed);
        nd4jRand2.setSeed(givenSeed);

        System.out.println(origRand.nextFloat()+"\t"+origRand2.nextFloat()+"\t"+nd4jRand.nextFloat()+"\t"+nd4jRand2.nextFloat());

//output:  0.73043025   0.3941323   0.7713206

1 Ответ

1 голос
/ 04 мая 2020

Не существует способа сгенерировать те же числа, что и Java RNG. Nd4j и Java используют разные алгоритмы генерации случайных чисел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...