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)
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)
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)
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
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
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
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)
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)