def testEquivalence(net):
    cnet = net.convertToFastNetwork()
    if cnet == None:
        return None
    ds = buildAppropriateDataset(net)
    if net.sequential:
        for seq in ds:
            net.reset()
            cnet.reset()
            for input, _ in seq:
                res = net.activate(input)
                cres = cnet.activate(input)
                if net.name == '22':
                    h = net['hidden0']
                    ch = cnet['hidden0']
                    print('ni', input, net.inputbuffer.T)
                    print('ci', input, cnet.inputbuffer.T)
                    print('hni', h.inputbuffer.T[0])
                    print('hci', ch.inputbuffer.T[0])
                    print('hnout', h.outputbuffer.T[0])
                    print('hcout', ch.outputbuffer.T[0])
                    print

    else:
        for input, _ in ds:
            res = net.activate(input)
            cres = cnet.activate(input)
    if epsilonCheck(sum(res - cres), 0.001):
        return True
    else:
        print('in-net', net.inputbuffer.T)
        print('in-arac', cnet.inputbuffer.T)
        print('out-net', net.outputbuffer.T)
        print('out-arac', cnet.outputbuffer.T)
        return (res, cres)
def predictOutcome(net, input, output):
    res = net.activate(input)[0]
    if epsilonCheck(res - output):
        return True
    else:
        print 'expected:', round(output, 7), '- got:', round(res, 7)
        return False
def testEquivalence(net):
    cnet = net.convertToFastNetwork()
    if cnet == None:
        return None
    ds = buildAppropriateDataset(net)
    if net.sequential:
        for seq in ds:
            net.reset()
            cnet.reset()
            for input, _ in seq:
                res = net.activate(input)
                cres = cnet.activate(input)
                if net.name == '22':
                    h = net['hidden0']
                    ch = cnet['hidden0']
                    print 'ni', input, net.inputbuffer.T
                    print 'ci', input, cnet.inputbuffer.T
                    print 'hni', h.inputbuffer.T[0]
                    print 'hci', ch.inputbuffer.T[0]
                    print 'hnout', h.outputbuffer.T[0]
                    print 'hcout', ch.outputbuffer.T[0]
                    print
                    
    else:
        for input, _ in ds:
            res = net.activate(input)
            cres = cnet.activate(input)
    if epsilonCheck(sum(res - cres), 0.001):
        return True
    else:
        print 'in-net', net.inputbuffer.T
        print 'in-arac', cnet.inputbuffer.T
        print 'out-net', net.outputbuffer.T
        print 'out-arac', cnet.outputbuffer.T
        return (res, cres)
Exemplo n.º 4
0
def predictOutcome(net, input, output):
    res = net.activate(input)[0]
    if epsilonCheck(res - output):
        return True
    else:
        print('expected:', round(output, 7), '- got:', round(res, 7))
        return False