Package com.github.neuralnetworks.tensor

Examples of com.github.neuralnetworks.tensor.Tensor


  Matrix im = tp.get(nn.getInputLayer());
  Matrix hm1 = tp.get(h, 3, 2);
  Matrix hm2 = tp.get(h, 4, 2);

  Tensor om = tp.get(o);

  assertTrue(im == tp.get(i, 2, 2));
  assertTrue(im == tp.get(i));
  assertTrue(hm1 == tp.get(h, 3, 2));
  assertTrue(hm2 == tp.get(h, 4, 2));
View Full Code Here


  NNRandomInitializer rand = new NNRandomInitializer(new MersenneTwisterRandomInitializer(-0.1f, 0.1f), 0.5f);
  rand.initialize(nn);

  for (Layer l : nn.getLayers()) {
      if (Util.isBias(l)) {
    Tensor t = ((FullyConnected) l.getConnections().get(0)).getWeights();
    float[] elements = t.getElements();
    t.forEach(i -> assertEquals(0.5, elements[i], 0f));
      } else {
    Tensor t = ((FullyConnected) l.getConnections().get(0)).getWeights();
    float[] elements = t.getElements();
    t.forEach(i -> assertTrue(elements[i] >= -0.1f && elements[i] <= 0.1f && elements[i] != 0));
      }
  }

  rand = new NNRandomInitializer(new MersenneTwisterRandomInitializer(2f, 3f), new MersenneTwisterRandomInitializer(-2f, -1f));
  rand.initialize(nn);

  for (Layer l : nn.getLayers()) {
      if (Util.isBias(l)) {
    Tensor t = ((FullyConnected) l.getConnections().get(0)).getWeights();
    float[] elements = t.getElements();
    t.forEach(i -> assertTrue(elements[i] >= -2f && elements[i] <= -1f));
      } else {
    Tensor t = ((FullyConnected) l.getConnections().get(0)).getWeights();
    float[] elements = t.getElements();
    t.forEach(i -> assertTrue(elements[i] >= 2f && elements[i] <= 3f));
      }
  }
    }
View Full Code Here

  }
    }

    @Test
    public void testSoftMax() {
  Tensor t = TensorFactory.tensor(5, 4, 2);
  IntStream.range(0, t.getElements().length).forEach(i -> t.getElements()[i] = i + 1);
  Matrix m = TensorFactory.tensor(t, new int[][] { { 1, 1, 1 }, { 3, 2, 1 } });
  m.set(1, 0, 0);
  m.set(2, 1, 0);
  m.set(3, 2, 0);
  m.set(4, 0, 1);
View Full Code Here

  assertEquals(6 / 15f, m.get(2, 1), 0);
    }

    @Test
    public void testTensor() {
  Tensor t = TensorFactory.tensor(2, 2, 2);
  float[] elements = t.getElements();

  assertEquals(8, elements.length, 0);

  t.set(1, 0, 0, 0);
  t.set(2, 0, 0, 1);
  t.set(3, 0, 1, 0);
  t.set(4, 0, 1, 1);
  t.set(5, 1, 0, 0);
  t.set(6, 1, 0, 1);
  t.set(7, 1, 1, 0);
  t.set(8, 1, 1, 1);

  Iterator<Integer> it = t.iterator();
  for (int i = 0; i < elements.length && it.hasNext(); i++) {
      assertEquals(i + 1, elements[i], 0);
      assertEquals(i + 1, elements[it.next()], 0);
  }

  t = TensorFactory.tensor(5, 5, 5);
  assertEquals(25, t.getDimensionElementsDistance(0), 0);
  assertEquals(5, t.getDimensionElementsDistance(1), 0);
  assertEquals(1, t.getDimensionElementsDistance(2), 0);

  elements = t.getElements();

  for (int i = 0; i < elements.length; i++) {
      elements[i] = i + 1;
  }

  Tensor t2 = TensorFactory.tensor(t, new int[][] { { 3, 0, 0 }, { 4, 4, 4 } });
  assertEquals(75, t2.getStartIndex(), 0);
  assertEquals(124, t2.getEndIndex(), 0);
  assertEquals(25, t2.getDimensionElementsDistance(0), 0);
  assertEquals(5, t2.getDimensionElementsDistance(1), 0);
  assertEquals(1, t2.getDimensionElementsDistance(2), 0);
  assertEquals(50, t2.getSize(), 0);
  assertEquals(76, t2.get(0, 0, 0), 0);
  assertEquals(77, t2.get(0, 0, 1), 0);
  assertEquals(81, t2.get(0, 1, 0), 0);
  assertEquals(101, t2.get(1, 0, 0), 0);
  assertEquals(106, t2.get(1, 1, 0), 0);
  assertEquals(112, t2.get(1, 2, 1), 0);

  Tensor[] tarr = TensorFactory.tensor(new int[] { 2, 2, 2 }, new int[] { 3, 3 });
  assertEquals(17, tarr[0].getElements().length, 0);
  assertEquals(0, tarr[0].getStartOffset(), 0);
  assertEquals(8, tarr[1].getStartOffset(), 0);
View Full Code Here

  AparapiConv2D conv = new AparapiConv2DFF(c, vp, c.getOutputLayer());
  conv.calculate(c, vp, c.getOutputLayer());

  // most simple case
  Tensor o = vp.get(c.getOutputLayer());

  assertEquals(164, o.get(0, 0, 0, 0), 0);
  assertEquals(184, o.get(0, 0, 1, 0), 0);
  assertEquals(224, o.get(0, 1, 0, 0), 0);
  assertEquals(244, o.get(0, 1, 1, 0), 0);
    }
View Full Code Here

  }

  AparapiConv2D conv = new AparapiConv2DFF(c, vp, c.getOutputLayer());
  conv.calculate(c, vp, c.getOutputLayer());

  Tensor o = vp.get(c.getOutputLayer());

  assertEquals(164, o.get(0, 0, 0, 0), 0);
  assertEquals(184, o.get(0, 0, 1, 0), 0);
  assertEquals(224, o.get(0, 1, 0, 0), 0);
  assertEquals(244, o.get(0, 1, 1, 0), 0);
  assertEquals(164, o.get(1, 0, 0, 0), 0);
  assertEquals(184, o.get(1, 0, 1, 0), 0);
  assertEquals(224, o.get(1, 1, 0, 0), 0);
  assertEquals(244, o.get(1, 1, 1, 0), 0);
    }
View Full Code Here

  Set<Layer> calculatedLayers = new HashSet<>();
  calculatedLayers.add(nn.getInputLayer());
  nn.getLayerCalculator().calculate(nn, nn.getOutputLayer(), calculatedLayers, vp);

  Tensor o = vp.get(nn.getOutputLayer());

  assertEquals(244, o.get(0, 0, 0, 0), 0);
  assertEquals(244, o.get(1, 0, 0, 0), 0);
    }
View Full Code Here

  float[] src = new float[] { 0.5f, 1, 1, 2, 1.5f, 3, 2, 4, 2.5f, 5, 3, 6, 3.5f, 7, 4f, 8, 4.5f, 9, 5f, 10, 5.5f, 11, 6f, 12, 6.5f, 13, 7f, 14, 8f, 16, 7.5f, 15, 8.5f, 17, 9f, 18, 9.5f, 19, 10f, 20, 10.5f, 21, 11f, 22, 11.5f, 23, 12f, 24, 12.5f, 25, 13f, 26, 13.5f, 27, 14f, 28, 14.5f, 29, 15f, 30, 16f, 32, 15.5f, 31 };
  System.arraycopy(src, 0, vp.get(c.getInputLayer()).getElements(), vp.get(c.getInputLayer()).getStartIndex(), src.length);

  calc.calculate(connections, vp, c.getOutputLayer());

  Tensor o = vp.get(c.getOutputLayer());

  assertEquals(3, o.get(0, 0, 0, 0), 0);
  assertEquals(4, o.get(0, 0, 1, 0), 0);
  assertEquals(7, o.get(0, 1, 0, 0), 0);
  assertEquals(8, o.get(0, 1, 1, 0), 0);
  assertEquals(11, o.get(1, 0, 0, 0), 0);
  assertEquals(12, o.get(1, 0, 1, 0), 0);
  assertEquals(15, o.get(1, 1, 0, 0), 0);
  assertEquals(16, o.get(1, 1, 1, 0), 0);

  assertEquals(6, o.get(0, 0, 0, 1), 0);
  assertEquals(8, o.get(0, 0, 1, 1), 0);
  assertEquals(14, o.get(0, 1, 0, 1), 0);
  assertEquals(16, o.get(0, 1, 1, 1), 0);
  assertEquals(22, o.get(1, 0, 0, 1), 0);
  assertEquals(24, o.get(1, 0, 1, 1), 0);
  assertEquals(30, o.get(1, 1, 0, 1), 0);
  assertEquals(32, o.get(1, 1, 1, 1), 0);
    }
View Full Code Here

  float[] src = new float[] { 0.5f, 1, 1, 2, 1.5f, 3, 2, 4, 2.5f, 5, 3, 6, 3.5f, 7, 4f, 8, 4.5f, 9, 5f, 10, 5.5f, 11, 6f, 12, 6.5f, 13, 7f, 14, 8f, 16, 7.5f, 15, 8.5f, 17, 9f, 18, 9.5f, 19, 10f, 20, 10.5f, 21, 11f, 22, 11.5f, 23, 12f, 24, 12.5f, 25, 13f, 26, 13.5f, 27, 14f, 28, 14.5f, 29, 15f, 30, 16f, 32, 15.5f, 31 };
  System.arraycopy(src, 0, vp.get(c.getInputLayer()).getElements(), vp.get(c.getInputLayer()).getStartIndex(), src.length);

  calc.calculate(connections, vp, c.getOutputLayer());

  Tensor o = vp.get(c.getOutputLayer());

  assertEquals(1.75, o.get(0, 0, 0, 0), 0);
  assertEquals(2.75, o.get(0, 0, 1, 0), 0);
  assertEquals(5.75, o.get(0, 1, 0, 0), 0);
  assertEquals(6.75, o.get(0, 1, 1, 0), 0);
  assertEquals(9.75, o.get(1, 0, 0, 0), 0);
  assertEquals(10.75, o.get(1, 0, 1, 0), 0);
  assertEquals(13.75, o.get(1, 1, 0, 0), 0);
  assertEquals(14.75, o.get(1, 1, 1, 0), 0);

  assertEquals(3.5, o.get(0, 0, 0, 1), 0);
  assertEquals(5.5, o.get(0, 0, 1, 1), 0);
  assertEquals(11.5, o.get(0, 1, 0, 1), 0);
  assertEquals(13.5, o.get(0, 1, 1, 1), 0);
  assertEquals(19.5, o.get(1, 0, 0, 1), 0);
  assertEquals(21.5, o.get(1, 0, 1, 1), 0);
  assertEquals(27.5, o.get(1, 1, 0, 1), 0);
  assertEquals(29.5, o.get(1, 1, 1, 1), 0);
    }
View Full Code Here

  System.arraycopy(src, 0, vp.get(c.getInputLayer()).getElements(), vp.get(c.getInputLayer()).getStartIndex(), src.length);

  AparapiStochasticPooling2D calc = new AparapiStochasticPooling2D();
  calc.calculate(connections, vp, c.getOutputLayer());

  Tensor t = vp.get(c.getOutputLayer());

  assertEquals(2.08, t.get(0, 0, 0, 0), 0.01);
  assertEquals(2.08, t.get(0, 0, 0, 1), 0.01);
    }
View Full Code Here

TOP

Related Classes of com.github.neuralnetworks.tensor.Tensor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.