Пример #1
0
 def test_forwardPropagation(self):
     for example, predicted in zip(examples, predicteds):
         ex = toVector(example)
         pred = toVector(predicted)
         assert_array_almost_equal(self.network.forwardPropagation(ex),
                                   pred,
                                   decimal=5)
Пример #2
0
 def test_J(self):
     for i, (output, predicted) in enumerate(zip(outputs, predicteds)):
         out = toVector(output)
         pred = toVector(predicted)
         self.network.updateCost(out, pred)
         self.assertAlmostEqual(self.network.J, J[i], places=3)
         self.network.reset()
Пример #3
0
 def test_cost_computation(self):
     for output, predicted in zip(outputs, predicteds):
         out = toVector(output)
         pred = toVector(predicted)
         self.network.updateCost(out, pred)
     self.assertAlmostEqual(self.network.computeCost(len(outputs)),
                            Jtotal,
                            places=4)
Пример #4
0
 def test_upgradeGrads(self):
     for i, (example, output) in enumerate(zip(examples, outputs)):
         ex = toVector(example)
         out = toVector(output)
         pred = self.network.forwardPropagation(ex)
         self.network.backPropagation(pred - out)
     self.network.updateGrads(len(examples))
     for i, D in enumerate(self.network.D):
         assert_array_almost_equal(D, np.array(gradsTotal[i]), decimal=5)
Пример #5
0
 def test_backPropagation(self):
     for i, (example, output) in enumerate(zip(examples, outputs)):
         ex = toVector(example)
         out = toVector(output)
         pred = self.network.forwardPropagation(ex)
         self.network.backPropagation(pred - out)
         for j, D in enumerate(self.network.D):
             assert_array_almost_equal(D, np.array(grads[i][j]), decimal=5)
         self.network.reset()
Пример #6
0
 def test_trainTurn(self):
     datapoints = [(toVector(input), toVector(output))
                   for input, output in zip(examples, outputs)]
     self.network.trainTurn(datapoints)
     for i, D in enumerate(self.network.D):
         assert_array_almost_equal(D, np.array(gradsTotal[i]), decimal=5)
     err = self.network.trainTurn(datapoints, updateCost=True)
     self.assertAlmostEqual(self.network.computeCost(len(examples)),
                            Jtotal,
                            places=2)
Пример #7
0
 def test_toVector(self):
     attr1 = [1.0, 0.56, 0]
     assert_array_almost_equal(toVector(attr1),
                               np.array([[1.0], [0.56], [0]]),
                               decimal=5)