Hemming Recurrent network (newhem) — NeuroLab 0.2.2 documentation

### Navigation

- index
- modules |
- next |
- previous |
- NeuroLab 0.2.2 documentation »
- Examples »

# Hemming Recurrent network (newhem)

Use `neurolab.net.newhem()`

    # -*- coding: utf-8 -*-
    """
    Example of use Hemming Recurrent network
    =========================================

    Task: Recognition of letters

    """

    import numpy as np
    import neurolab as nl

    target = [[-1, 1, -1, -1, 1, -1, -1, 1, -1],
              [1, 1, 1, 1, -1, 1, 1, -1, 1],
              [1, -1, 1, 1, 1, 1, 1, -1, 1],
              [1, 1, 1, 1, -1, -1, 1, -1, -1],
              [-1, -1, -1, -1, 1, -1, -1, -1, -1]]

    input = [[-1, -1, 1, 1, 1, 1, 1, -1, 1],
             [-1, -1, 1, -1, 1, -1, -1, -1, -1],
             [-1, -1, -1, -1, 1, -1, -1, 1, -1]]

    # Create and train network
    net = nl.net.newhem(target)

    output = net.sim(target)
    print "Test on train samples (must be [0, 1, 2, 3, 4])"
    print np.argmax(output, axis=0)

    output = net.sim([input[0]])
    print "Outputs on recurent cycle:"
    print np.array(net.layers[1].outs)

    output = net.sim(input)
    print "Outputs on test sample:"
    print output

Result: |

    Test on train samples (must be [0, 1, 2, 3, 4])
        [0 1 2 3 4]
        Outputs on recurent cycle:
        [[ 0.       0.24     0.48     0.       0.     ]
         [ 0.       0.144    0.432    0.       0.     ]
         [ 0.       0.0576   0.4032   0.       0.     ]
         [ 0.       0.       0.39168  0.       0.     ]]
        Outputs on test sample:
        [[ 0.          0.          0.39168     0.          0.        ]
         [ 0.          0.          0.          0.          0.39168   ]
         [ 0.07516193  0.          0.          0.          0.07516193]]

### Navigation

- index
- modules |
- next |
- previous |
- NeuroLab 0.2.2 documentation »
- Examples »