Search in sources :

Example 26 with Random

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));
}
Also used : Random(org.nd4j.linalg.api.rng.Random) DefaultRandom(org.nd4j.linalg.api.rng.DefaultRandom) NativeRandom(org.nd4j.rng.NativeRandom) INDArray(org.nd4j.linalg.api.ndarray.INDArray) BaseNd4jTest(org.nd4j.linalg.BaseNd4jTest) Test(org.junit.Test)

Example 27 with Random

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);
}
Also used : Random(org.nd4j.linalg.api.rng.Random) DefaultRandom(org.nd4j.linalg.api.rng.DefaultRandom) NativeRandom(org.nd4j.rng.NativeRandom) INDArray(org.nd4j.linalg.api.ndarray.INDArray) BaseNd4jTest(org.nd4j.linalg.BaseNd4jTest) Test(org.junit.Test)

Example 28 with Random

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);
}
Also used : Random(org.nd4j.linalg.api.rng.Random) DefaultRandom(org.nd4j.linalg.api.rng.DefaultRandom) NativeRandom(org.nd4j.rng.NativeRandom) INDArray(org.nd4j.linalg.api.ndarray.INDArray) BaseNd4jTest(org.nd4j.linalg.BaseNd4jTest) Test(org.junit.Test)

Example 29 with Random

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);
}
Also used : Random(org.nd4j.linalg.api.rng.Random) DefaultRandom(org.nd4j.linalg.api.rng.DefaultRandom) NativeRandom(org.nd4j.rng.NativeRandom) INDArray(org.nd4j.linalg.api.ndarray.INDArray) BaseNd4jTest(org.nd4j.linalg.BaseNd4jTest) Test(org.junit.Test)

Example 30 with Random

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);
}
Also used : Random(org.nd4j.linalg.api.rng.Random) DefaultRandom(org.nd4j.linalg.api.rng.DefaultRandom) NativeRandom(org.nd4j.rng.NativeRandom) INDArray(org.nd4j.linalg.api.ndarray.INDArray) BaseNd4jTest(org.nd4j.linalg.BaseNd4jTest) Test(org.junit.Test)

Aggregations

Random (org.nd4j.linalg.api.rng.Random)38 Test (org.junit.Test)31 BaseNd4jTest (org.nd4j.linalg.BaseNd4jTest)31 DefaultRandom (org.nd4j.linalg.api.rng.DefaultRandom)31 NativeRandom (org.nd4j.rng.NativeRandom)29 INDArray (org.nd4j.linalg.api.ndarray.INDArray)24 AtomicLong (java.util.concurrent.atomic.AtomicLong)3 CopyOnWriteArrayList (java.util.concurrent.CopyOnWriteArrayList)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2 Model (org.deeplearning4j.nn.api.Model)2 NeuralNetConfiguration (org.deeplearning4j.nn.conf.NeuralNetConfiguration)2 ConvexOptimizer (org.deeplearning4j.optimize.api.ConvexOptimizer)2 JDKRandomGenerator (org.apache.commons.math3.random.JDKRandomGenerator)1 VectorsListener (org.deeplearning4j.models.sequencevectors.interfaces.VectorsListener)1 Ignore (org.junit.Ignore)1 MatchCondition (org.nd4j.linalg.api.ops.impl.accum.MatchCondition)1 Distribution (org.nd4j.linalg.api.rng.distribution.Distribution)1 NormalDistribution (org.nd4j.linalg.api.rng.distribution.impl.NormalDistribution)1 OrthogonalDistribution (org.nd4j.linalg.api.rng.distribution.impl.OrthogonalDistribution)1