Exemplo n.º 1
0
    def test_back_prop_sigmoid(self):
        layer = ActivationLayer("sigmoid")
        layer.set_input_shape((4,))

        input = np.array([0, 2365836, 0, -154366], dtype=np.float64)
        layer.forward_prop(input)

        expected_in_grad = np.array([0.25, 0, 0.25, 0], dtype=np.float64)
        out_grad = np.ones(4)

        in_grad = layer.back_prop(out_grad)
        numpy.testing.assert_array_almost_equal(in_grad, expected_in_grad)
Exemplo n.º 2
0
    def test_back_prop_leaky_relu(self):
        layer = ActivationLayer("leakyReLU")
        layer.set_input_shape((4,))

        input = np.array([1, -1, 1, -1], dtype=np.float64)
        layer.forward_prop(input)

        out_grad = np.ones(4)
        expected_in_grad = np.array([1, 0.01, 1, 0.01], dtype=np.float64)

        in_grad = layer.back_prop(out_grad)
        numpy.testing.assert_array_almost_equal(in_grad, expected_in_grad)
Exemplo n.º 3
0
    def test_forward_prop_relu(self):
        layer = ActivationLayer("ReLU")
        layer.set_input_shape((4,))

        input = np.array([1536, -83741, 84597, -1543], dtype=np.float64)
        expected_output = np.array([1536, 0, 84597, 0], dtype=np.float64)

        output = layer.forward_prop(input)
        numpy.testing.assert_array_equal(output, expected_output)
Exemplo n.º 4
0
    def test_forward_prop_sigmoid_small_input(self):
        layer = ActivationLayer("sigmoid")
        layer.set_input_shape((4,))

        input = np.array([-427562359, -329756, -86, 0], dtype=np.float64)
        expected_output = np.array([0, 0, 0, 0.5], dtype=np.float64)

        output = layer.forward_prop(input)
        numpy.testing.assert_array_almost_equal(output, expected_output)
Exemplo n.º 5
0
    def test_forward_prop_sigmoid(self):
        layer = ActivationLayer("sigmoid")
        layer.set_input_shape((4,))

        input = np.array([0, 0, 0, 0], dtype=np.float64)
        expected_output = np.array([0.5, 0.5, 0.5, 0.5], dtype=np.float64)

        output = layer.forward_prop(input)
        numpy.testing.assert_array_equal(output, expected_output)
Exemplo n.º 6
0
    def test_forward_prop_leaky_relu(self):
        layer = ActivationLayer("leakyReLU")
        layer.set_input_shape((4,))

        input = np.array([57287, -6154385, 14938, -54787], dtype=np.float64)
        expected_output = np.array([57287, -61543.85, 14938, -547.87], dtype=np.float64)

        output = layer.forward_prop(input)
        numpy.testing.assert_array_almost_equal(output, expected_output)