use of org.nd4j.linalg.api.rng.Random in project nd4j by deeplearning4j.
the class RandomTests method testBinomialDistribution1.
@Test
public void testBinomialDistribution1() throws Exception {
Random random1 = Nd4j.getRandomFactory().getNewRandomInstance(119);
Random random2 = Nd4j.getRandomFactory().getNewRandomInstance(119);
INDArray z1 = Nd4j.zeros(1000);
INDArray z2 = Nd4j.zeros(1000);
INDArray z1Dup = Nd4j.zeros(1000);
BinomialDistribution op1 = new BinomialDistribution(z1, 5, 0.25);
BinomialDistribution op2 = new BinomialDistribution(z2, 5, 0.25);
Nd4j.getExecutioner().exec(op1, random1);
Nd4j.getExecutioner().exec(op2, random2);
assertNotEquals(z1Dup, z1);
assertEquals(z1, z2);
BooleanIndexing.and(z1, Conditions.lessThanOrEqual(5.0));
BooleanIndexing.and(z1, Conditions.greaterThanOrEqual(0.0));
}
use of org.nd4j.linalg.api.rng.Random in project nd4j by deeplearning4j.
the class RandomTests method testGaussianDistribution2.
@Test
public void testGaussianDistribution2() throws Exception {
Random random1 = Nd4j.getRandomFactory().getNewRandomInstance(119);
Random random2 = Nd4j.getRandomFactory().getNewRandomInstance(119);
Random random3 = Nd4j.getRandomFactory().getNewRandomInstance(119);
Random random4 = Nd4j.getRandomFactory().getNewRandomInstance(119);
INDArray z1 = Nd4j.create(100000);
INDArray z2 = Nd4j.create(100000);
INDArray z3 = Nd4j.create(100000);
INDArray z4 = Nd4j.create(100000);
random3.reSeed(8231);
random4.reSeed(4453523);
GaussianDistribution op1 = new GaussianDistribution(z1, 0.0, 1.0);
Nd4j.getExecutioner().exec(op1, random1);
GaussianDistribution op2 = new GaussianDistribution(z2, 0.0, 1.0);
Nd4j.getExecutioner().exec(op2, random2);
GaussianDistribution op3 = new GaussianDistribution(z3, 0.0, 1.0);
Nd4j.getExecutioner().exec(op3, random3);
GaussianDistribution op4 = new GaussianDistribution(z4, 0.0, 1.0);
Nd4j.getExecutioner().exec(op4, random4);
assertEquals(0.0, z1.meanNumber().doubleValue(), 0.01);
assertEquals(1.0, z1.stdNumber().doubleValue(), 0.01);
assertEquals(z1, z2);
assertNotEquals(z1, z3);
assertNotEquals(z2, z4);
assertNotEquals(z3, z4);
}
use of org.nd4j.linalg.api.rng.Random in project nd4j by deeplearning4j.
the class RandomTests method testSetSeed1.
@Test
public void testSetSeed1() throws Exception {
Random random1 = Nd4j.getRandomFactory().getNewRandomInstance(119);
Random random2 = Nd4j.getRandomFactory().getNewRandomInstance(119);
INDArray z01 = Nd4j.create(1000);
INDArray z11 = Nd4j.create(1000);
UniformDistribution distribution01 = new UniformDistribution(z01, 1.0, 2.0);
Nd4j.getExecutioner().exec(distribution01, random1);
UniformDistribution distribution11 = new UniformDistribution(z11, 1.0, 2.0);
Nd4j.getExecutioner().exec(distribution11, random2);
random1.setSeed(1999);
random2.setSeed(1999);
INDArray z02 = Nd4j.create(100);
UniformDistribution distribution02 = new UniformDistribution(z02, 1.0, 2.0);
Nd4j.getExecutioner().exec(distribution02, random1);
INDArray z12 = Nd4j.create(100);
UniformDistribution distribution12 = new UniformDistribution(z12, 1.0, 2.0);
Nd4j.getExecutioner().exec(distribution12, random2);
for (int x = 0; x < z01.length(); x++) {
assertEquals("Failed on element: [" + x + "]", z01.getFloat(x), z11.getFloat(x), 0.01f);
}
assertEquals(z01, z11);
for (int x = 0; x < z02.length(); x++) {
assertEquals("Failed on element: [" + x + "]", z02.getFloat(x), z12.getFloat(x), 0.01f);
}
assertEquals(z02, z12);
}
use of org.nd4j.linalg.api.rng.Random in project nd4j by deeplearning4j.
the class RandomTests method testDropoutInverted1.
@Test
public void testDropoutInverted1() throws Exception {
Random random1 = Nd4j.getRandomFactory().getNewRandomInstance(119);
Random random2 = Nd4j.getRandomFactory().getNewRandomInstance(119);
INDArray z1 = Nd4j.ones(300);
INDArray z2 = Nd4j.ones(300);
INDArray zDup = z1.dup();
DropOutInverted op1 = new DropOutInverted(z1, z1, 0.10);
Nd4j.getExecutioner().exec(op1, random1);
DropOutInverted op2 = new DropOutInverted(z2, z2, 0.10);
Nd4j.getExecutioner().exec(op2, random2);
assertNotEquals(zDup, z1);
for (int x = 0; x < z1.length(); x++) {
assertEquals("Failed on element: [" + x + "]", z1.getFloat(x), z2.getFloat(x), 0.01f);
}
assertEquals(z1, z2);
}
use of org.nd4j.linalg.api.rng.Random in project nd4j by deeplearning4j.
the class RandomTests method testAlphaDropout1.
@Test
public void testAlphaDropout1() throws Exception {
Random random1 = Nd4j.getRandomFactory().getNewRandomInstance(119);
Random random2 = Nd4j.getRandomFactory().getNewRandomInstance(119);
INDArray z1 = Nd4j.ones(300);
INDArray z2 = Nd4j.ones(300);
INDArray zDup = z1.dup();
AlphaDropOut op1 = new AlphaDropOut(z1, z1, 0.10, 0.3, 0.5, 0.7);
Nd4j.getExecutioner().exec(op1, random1);
AlphaDropOut op2 = new AlphaDropOut(z2, z2, 0.10, 0.3, 0.5, 0.7);
Nd4j.getExecutioner().exec(op2, random2);
assertNotEquals(zDup, z1);
assertEquals(z1, z2);
}
Aggregations