Ejemplo n.º 1
0
 def test_output_error_passed_back_in_the_chain_matches_input_dim(self):
     x, err, lr = np.array([1, 2, 3]), np.array([
         0.5,
     ]), 3
     layer = Output(x)
     layer.solve_bwd(err, lr)
     self.assertEqual(layer.e.shape, layer.x.shape)
Ejemplo n.º 2
0
 def test_output_gradient_descent(self):
     x, err, lr = np.array([1, 2, 3]), np.array([
         0.5,
     ]), 3
     layer = Output(x)
     layer.solve_bwd(err, lr)
     expected = -lr * np.repeat(err, x.shape[0]) * layer.partial_s * layer.x
     self.assertTrue((expected == layer.delta_w).all())
Ejemplo n.º 3
0
 def test_output_acc_error_to_be_passed_back_in_the_chain(self):
     x, err, lr = np.array([1, 2, 3]), np.array([
         0.5,
     ]), 3
     layer = Output(x)
     layer.solve_bwd(err, lr)
     expected = np.repeat(err, x.shape[0]) * layer.partial_s * layer.w
     self.assertTrue((expected == layer.e).all())
Ejemplo n.º 4
0
 def test_output_partial_s(self):
     x = np.array([1, 2, 3])
     layer = Output(x)
     layer.solve_bwd(np.array([
         0.5,
     ]))
     partial_s = layer.s * (1 - layer.s)
     self.assertTrue((layer.partial_s == partial_s).all())
     self.assertEqual(layer.partial_s.shape, x.shape)
Ejemplo n.º 5
0
 def test_output_solve_bwd_check_args_shape(self):
     layer = Output(np.array([1, 2]))
     regex = 'The shape for net error should be 1'
     with self.assertRaisesRegex(ValueError, regex):
         layer.solve_bwd(np.array([1, 2]))
Ejemplo n.º 6
0
 def test_output_solve_bwd_check_args_np(self):
     layer = Output(np.array([1, 2]))
     regex = 'The network error should be a numpy array'
     with self.assertRaisesRegex(TypeError, regex):
         layer.solve_bwd('void')