Exemplo n.º 1
0
def testBatchTraining(hidden=15, n=None):
    d = XORDataSet()
    if n is None:
        n = buildNetwork(d.indim, hidden, d.outdim, recurrent=False)
    provider = ModuleWrapper(d, n, shuffling=False)
    algo = SGD(provider, n.params.copy(), callback=printy, learning_rate=0.04, batch_size=4)
    algo.run(250)
Exemplo n.º 2
0
def testNewTraining3(hidden=15, n=None):
    d = XORDataSet(True)
    if n is None:
        n = buildNetwork(d.indim, hidden, d.outdim, recurrent=False)
    provider = ClassificationModuleWrapper(d, n, shuffling=False)
    algo = SGD(provider, n.params.copy(), callback=printy, learning_rate=0.01, momentum=0.99)
    algo.run(1000)
Exemplo n.º 3
0
def testBatchTraining(hidden=15, n=None):
    d = XORDataSet()
    if n is None:
        n = buildNetwork(d.indim, hidden, d.outdim, recurrent=False)
    provider = ModuleWrapper(d, n, shuffling=False)
    algo = SGD(provider,
               n.params.copy(),
               callback=printy,
               learning_rate=0.04,
               batch_size=4)
    algo.run(250)
Exemplo n.º 4
0
def testNewTraining3(hidden=15, n=None):
    d = XORDataSet(True)
    if n is None:
        n = buildNetwork(d.indim, hidden, d.outdim, recurrent=False)
    provider = ClassificationModuleWrapper(d, n, shuffling=False)
    algo = SGD(provider,
               n.params.copy(),
               callback=printy,
               learning_rate=0.01,
               momentum=0.99)
    algo.run(1000)
Exemplo n.º 5
0
def testCE(hidden=15):
    """ Test when doing the classification using the cross-entropy loss."""
    
    d = XORDataSet(True)
    n = buildNetwork(d.indim, hidden, d.outdim, recurrent=False)
    p0 = n.params.copy()
    
    provider = ClassificationModuleWrapper(d, n, shuffling=False)
    algo = SGD(provider, n.params.copy(), callback=printy, learning_rate=0.01, momentum=0.99)
    print '\n' * 2
    print 'SGD-CE'
    algo.run(1000)
    
    n._setParameters(p0)
    provider = ClassificationModuleWrapper(d, n, shuffling=False)
    algo = vSGDfd(provider, n.params.copy(), callback=printy)
    print '\n' * 2
    print 'vSGD-CE'
    algo.run(1000)
Exemplo n.º 6
0
def testMinibatch(dim=4):
    f = StochQuad(noiseLevel=0.2)
    fw = FunctionWrapper(dim, f, record_samples=True)
    x0 = ones(dim)
    for mb in [1,3,15,250]:
        print 'minibatch', mb
        algo = SGD(fw, x0, callback=printy, batch_size=mb, learning_rate=0.1)
        algo.run(10)
        print
    [fw.nextSamples(1) for _ in range(2500)]
    dw = DataFunctionWrapper(fw._seen, f, shuffling=False)
    print 'Fixed samples'
    for mb in [1,3,15,250]:
        print 'minibatch', mb
        dw.reset()
        algo = SGD(dw, x0, callback=printy, batch_size=mb, learning_rate=0.1)
        algo.run(10)
        print
Exemplo n.º 7
0
def testMinibatch(dim=4):
    f = StochQuad(noiseLevel=0.2)
    fw = FunctionWrapper(dim, f, record_samples=True)
    x0 = ones(dim)
    for mb in [1, 3, 15, 250]:
        print "minibatch", mb
        algo = SGD(fw, x0, callback=printy, batch_size=mb, learning_rate=0.1)
        algo.run(10)
        print
    [fw.nextSamples(1) for _ in range(2500)]
    dw = DataFunctionWrapper(fw._seen, f, shuffling=False)
    print "Fixed samples"
    for mb in [1, 3, 15, 250]:
        print "minibatch", mb
        dw.reset()
        algo = SGD(dw, x0, callback=printy, batch_size=mb, learning_rate=0.1)
        algo.run(10)
        print
Exemplo n.º 8
0
def testCE(hidden=15):
    """ Test when doing the classification using the cross-entropy loss."""

    d = XORDataSet(True)
    n = buildNetwork(d.indim, hidden, d.outdim, recurrent=False)
    p0 = n.params.copy()

    provider = ClassificationModuleWrapper(d, n, shuffling=False)
    algo = SGD(provider,
               n.params.copy(),
               callback=printy,
               learning_rate=0.01,
               momentum=0.99)
    print '\n' * 2
    print 'SGD-CE'
    algo.run(1000)

    n._setParameters(p0)
    provider = ClassificationModuleWrapper(d, n, shuffling=False)
    algo = vSGDfd(provider, n.params.copy(), callback=printy)
    print '\n' * 2
    print 'vSGD-CE'
    algo.run(1000)
Exemplo n.º 9
0
def testSGD(dim=3):
    f = FunctionWrapper(dim, StochQuad(noiseLevel=0.2))
    x0 = ones(dim)
    algo = SGD(f, x0, callback=printy, learning_rate=0.2, loss_target=0.01)
    algo.run(100)
    print
Exemplo n.º 10
0
def testBank():
    D = readData()    
    print len(D), 'samples', D.indim, 'features'
    from pybrain import LinearLayer, FullConnection, FeedForwardNetwork, BiasUnit, SigmoidLayer
    net = FeedForwardNetwork()
    net.addInputModule(LinearLayer(D.indim, name='in'))
    net.addModule(BiasUnit(name='bias'))
    net.addOutputModule(SigmoidLayer(1, name='out'))
    net.addConnection(FullConnection(net['in'], net['out']))
    net.addConnection(FullConnection(net['bias'], net['out']))
    net.sortModules()
    p = net.params
    p *= 0.01
    provider = ModuleWrapper(D, net, shuffling=False)
    algo = SGD(provider, net.params.copy(), #callback=printy, 
           learning_rate=5.5e-5)
    #algo = vSGDfd(provider, net.params.copy(), #callback=printy
    #              )
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
Exemplo n.º 11
0
def testSGD(dim=3):
    f = FunctionWrapper(dim, StochQuad(noiseLevel=0.2))
    x0 = ones(dim)
    algo = SGD(f, x0, callback=printy, learning_rate=0.2, loss_target=0.01)
    algo.run(100)
    print
Exemplo n.º 12
0
def testBank():
    D = readData()
    print len(D), 'samples', D.indim, 'features'
    from pybrain import LinearLayer, FullConnection, FeedForwardNetwork, BiasUnit, SigmoidLayer
    net = FeedForwardNetwork()
    net.addInputModule(LinearLayer(D.indim, name='in'))
    net.addModule(BiasUnit(name='bias'))
    net.addOutputModule(SigmoidLayer(1, name='out'))
    net.addConnection(FullConnection(net['in'], net['out']))
    net.addConnection(FullConnection(net['bias'], net['out']))
    net.sortModules()
    p = net.params
    p *= 0.01
    provider = ModuleWrapper(D, net, shuffling=False)
    algo = SGD(
        provider,
        net.params.copy(),  #callback=printy, 
        learning_rate=5.5e-5)
    #algo = vSGDfd(provider, net.params.copy(), #callback=printy
    #              )
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)
    algo.run(len(D))
    printy(algo, force=True)