def test_forward_pass(self): input_dim = 2 number_labels = 2 intermediate_neurons = 3 intermediate_layers = 1 neural_net = NeuralNetwork(input_dim=input_dim, number_labels=number_labels, intermediate_neurons=intermediate_neurons, intermediate_layers=intermediate_layers) # the layers in the neural net are randomly initialized # modify them to fixed numbers in order to test first_layer = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]]) intermediate_layer = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]]) intermediate_layer = np.vstack((intermediate_layer, np.array([1, 1, 1]).T)) last_layer = np.array([[0.5, 1], [0.5, 1], [0.5, 1], [1, 1]]) neural_net.layers = [first_layer, intermediate_layer, last_layer] expected_result = [92.5, 184] actual_result = neural_net.forward_pass(np.array([1, 3])) for actual, expected in zip(actual_result, expected_result): self.assertEqual(expected, actual)
def test_errors_computed_correctly(self): # mock the layers just as in the forward pass case input_dim = 2 number_labels = 2 intermediate_neurons = 3 intermediate_layers = 1 neural_net = NeuralNetwork(input_dim=input_dim, number_labels=number_labels, intermediate_neurons=intermediate_neurons, intermediate_layers=intermediate_layers) # the layers in the neural net are randomly initialized # modify them to fixed numbers in order to test first_layer = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]]) intermediate_layer = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]]) intermediate_layer = np.vstack((intermediate_layer, np.array([1, 1, 1]).T)) last_layer = np.array([[0.5, 1], [0.5, 1], [0.5, 1], [1, 1]]) neural_net.layers = [first_layer, intermediate_layer, last_layer]