Exemplo n.º 1
0
 def test_multiple_outputs(self):
     input_data = np.array([
         [-0.1961, 0.9806],
     ])
     input_size, output_size = (2, 3)
     input_layer = layers.StepLayer(
         input_size,
         weight=np.array([
             [0.7071, 0.7071, -1],
             [-0.7071, 0.7071, 0],
         ])
     )
     output_layer = layers.CompetitiveOutputLayer(output_size)
     hamming_network = algorithms.Instar(
         input_layer > output_layer,
         step=0.5,
         n_unconditioned=1,
         verbose=False
     )
     hamming_network.train(input_data, epochs=1)
     np.testing.assert_array_almost_equal(
         hamming_network.input_layer.weight,
         np.array([
             [0.7071, 0.7071, -1],
             [-0.5704, 0.8439, 0.1368]
         ]),
         decimal=4
     )
Exemplo n.º 2
0
 def test_train_different_inputs(self):
     self.assertInvalidVectorTrain(
         algorithms.Instar(step=1, verbose=False,
                           **self.default_properties),
         np.array([[0, 1, -1, -1]]),
         is_feature1d=False,
     )
Exemplo n.º 3
0
 def test_train_different_inputs(self):
     self.assertInvalidVectorTrain(
         algorithms.Instar(layers.StepLayer(4) > layers.OutputLayer(1),
                           n_unconditioned=1,
                           step=1,
                           verbose=False),
         np.array([[0, 1, -1, -1]]),
         row1d=True,
     )
Exemplo n.º 4
0
    def test_predict_different_inputs(self):
        inet = algorithms.Instar(step=1,
                                 verbose=False,
                                 **self.default_properties)

        inet.train(X, epochs=10)
        self.assertInvalidVectorPred(inet,
                                     np.array([0, 1, -1, -1]),
                                     1,
                                     is_feature1d=False)
Exemplo n.º 5
0
    def test_predict_different_inputs(self):
        inet = algorithms.Instar(
            self.conn,
            n_unconditioned=1,
            step=1,
            verbose=False
        )

        inet.train(input_data, epochs=10)
        self.assertInvalidVectorPred(inet, np.array([0, 1, -1, -1]), 1,
                                     row1d=True)
Exemplo n.º 6
0
    def test_learning_process(self):
        inet = algorithms.Instar(step=1,
                                 verbose=False,
                                 **self.default_properties)

        inet.train(X, epochs=10)

        test_input = np.array([[0, 1, -1, -1]])
        self.assertEqual(inet.predict(test_input), 1)

        np.testing.assert_array_equal(inet.weight,
                                      np.array([[3, 1, -1, -1]]).T)
Exemplo n.º 7
0
    def test_learning_process(self):
        inet = algorithms.Instar(self.conn,
                                 n_unconditioned=1,
                                 step=1,
                                 verbose=False)

        inet.train(input_data, epochs=10)

        test_input = np.array([[0, 1, -1, -1]])
        self.assertEqual(inet.predict(test_input), 1)

        np.testing.assert_array_equal(inet.input_layer.weight,
                                      np.array([[3, 1, -1, -1]]).T)
Exemplo n.º 8
0
 def test_multiple_outputs(self):
     X = np.array([
         [-0.1961, 0.9806],
     ])
     innet = algorithms.Instar(n_inputs=2,
                               n_outputs=3,
                               n_unconditioned=1,
                               weight=np.array([
                                   [0.7071, 0.7071, -1],
                                   [-0.7071, 0.7071, 0],
                               ]),
                               step=0.5,
                               verbose=False)
     innet.train(X, epochs=1)
     np.testing.assert_array_almost_equal(innet.weight,
                                          np.array(
                                              [[0.7071, 0.7071, -1],
                                               [-0.5704, 0.8439, 0.1368]]),
                                          decimal=4)
Exemplo n.º 9
0
import numpy as np

from neupy import layers, algorithms

input_data = np.array([
    [-0.1961, 0.9806],
])

input_size, output_size = (2, 3)
input_layer = layers.StepLayer(input_size,
                               weight=np.array([
                                   [0.7071, -0.7071],
                                   [0.7071, 0.7071],
                                   [-1, 0],
                               ]).T,
                               function_coef={
                                   'lower_value': 0,
                                   'upper_value': 1
                               })
output_layer = layers.CompetitiveOutputLayer(output_size)

hamming_network = algorithms.Instar(input_layer > output_layer,
                                    use_bias=False,
                                    step=0.5,
                                    n_unconditioned=0)

with hamming_network as hn:
    hn.train(input_data, epochs=1)
    print(hn.input_layer.weight)