Environment.getInstance().setUseWeightsSharedMemory(true);
ConnectionFactory cf = new ConnectionFactory();
NNFactory.addFullyConnectedLayer(nn, h, cf, 2, 3, true);
NNFactory.addFullyConnectedLayer(nn, o, cf, 4, 1, true);
ValuesProvider tp = TensorFactory.tensorProvider(nn, 2, true);
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));
assertTrue(hm1 == TensorFactory.tensor(h, nn.getConnection(i, h), tp));
assertTrue(hm2 == TensorFactory.tensor(h, nn.getConnection(h, o), tp));
assertTrue(om == tp.get(o, 1, 2));
assertTrue(om == tp.get(o));
}