Ejemplo n.º 1
0
def runTrial(ds, iters):
    kw = {
        'minimize': True,
        'verbose': True,
        'mutationProb': 0.1,
        'populationSize': 150,
        'storeAllEvaluations': True,
        'storeAllPopulations': True,
        'elitism': True,
        'tournament': False
    }
    e = setUpExperiment(ds, **kw)
    ga = GA(testOnTrainData, e.nn, **kw)
    e.results['trn_per_err'] = []
    for i in range(iters):
        print ga.learn(0)
        e.results['trn_per_err'].append(ga._bestFound()[1])
        fits = array(ga.fitnesses)
        print '\t\t\tmean', mean(fits), 'std', std(fits), 'max', max(
            fits), 'min', min(fits)
        for i, t in trn_data:
            o = ga._bestFound()[0].activate(i)
            if where(o != t, True, False).any():
                print i, o, argmax(t), '----'
    e.results['tst_per_err'].append(
        testOnTestData(ga._bestFound()[0], e.tst_data))
    return e
def runTrial(iters):
    kw = {
        'minimize': True,
        'verbose': True,
        'mutationProb': 0.1,
        'populationSize': 150,
        'storeAllEvaluations': True,
        'storeAllPopulations': True,
        'elitism': True,
        'tournament': False
    }
    e = Experiment(**kw)
    # e.buildXor()
    e.buildParity()
    # e.buildIris()

    # trainer = bp(e.nn, dataset=trn_data, verbose=True)
    # trainer.trainEpochs(100)

    ga = GA(testOnTrainData, e.nn, **kw)
    # ga = GA(trn_data.evaluateModuleMSE, e.nn, **kw)
    # tmp_nn = e.nn.newSimilarInstance()
    perc_errs = []
    for i in range(iters):
        ga.learn(0)
        perc_errs.append(ga._bestFound()[1])
        fits = array(ga.fitnesses)
        print '\t\t\tmean', mean(fits), 'std', std(fits), 'max', max(
            fits), 'min', min(fits)
        for i, t in trn_data:
            o = ga._bestFound()[0].activate(i)
            if o != t:
                print i, o, t, '++' if o == t else '----'

        # ranked_pop = ga._allGenerations[i]
        # ranked_pop = array(sorted(ga._allGenerations[i], key=lambda x: x[1]))
        # for ind in range(len(ranked_pop[0])):
        #     tmp_nn.params[:] = array(ranked_pop[0][ind]).copy()
        # print ranked_pop[1][ind], testOnTrainData(tmp_nn), int(testOnTrainData(tmp_nn)) * '.'
        # astrocytes = associateAstrocyteLayers(tmp_nn)
        # trainNGA(tmp_nn, trn_data, astrocytes[0], astrocytes[1])

        # ga.currentpop = new_pop
    return perc_errs
def runTrial(ds, iters):
    kw = {'minimize':True,  
        'verbose':True, 'mutationProb':0.1, 'populationSize':150,
        'storeAllEvaluations':True, 'storeAllPopulations':True,
        'elitism':True, 'tournament':False}
    e = setUpExperiment(ds, **kw)
    ga = GA(testOnTrainData, e.nn, **kw)
    e.results['trn_per_err'] = []
    for i in range(iters):
        print ga.learn(0)
        e.results['trn_per_err'].append(ga._bestFound()[1])
        fits = array(ga.fitnesses)
        print '\t\t\tmean', mean(fits), 'std', std(fits), 'max', max(fits), 'min', min(fits)
        for i, t in trn_data:
            o = ga._bestFound()[0].activate(i)
            if where(o != t, True, False).any():
                print i, o, argmax(t), '----'
    e.results['tst_per_err'].append(testOnTestData(ga._bestFound()[0], e.tst_data))
    return e
def runTrial(iters):
    kw = {'minimize':True,  
        'verbose':True, 'mutationProb':0.1, 'populationSize':150,
        'storeAllEvaluations':True, 'storeAllPopulations':True,
        'elitism':True, 'tournament':False}
    e = Experiment(**kw)
    # e.buildXor()
    e.buildParity()
    # e.buildIris()

    # trainer = bp(e.nn, dataset=trn_data, verbose=True)
    # trainer.trainEpochs(100)

    ga = GA(testOnTrainData, e.nn, **kw)
    # ga = GA(trn_data.evaluateModuleMSE, e.nn, **kw)
    # tmp_nn = e.nn.newSimilarInstance()
    perc_errs = []
    for i in range(iters):
        ga.learn(0)
        perc_errs.append(ga._bestFound()[1])
        fits = array(ga.fitnesses)
        print '\t\t\tmean', mean(fits), 'std', std(fits), 'max', max(fits), 'min', min(fits)
        for i, t in trn_data:
            o = ga._bestFound()[0].activate(i)
            if o != t:
                print i, o, t, '++' if o == t else '----'

        # ranked_pop = ga._allGenerations[i]
        # ranked_pop = array(sorted(ga._allGenerations[i], key=lambda x: x[1]))
        # for ind in range(len(ranked_pop[0])):
        #     tmp_nn.params[:] = array(ranked_pop[0][ind]).copy()
            # print ranked_pop[1][ind], testOnTrainData(tmp_nn), int(testOnTrainData(tmp_nn)) * '.'
            # astrocytes = associateAstrocyteLayers(tmp_nn)
            # trainNGA(tmp_nn, trn_data, astrocytes[0], astrocytes[1])

        # ga.currentpop = new_pop
    return perc_errs