Exemple #1
0
def main(runs):
    print('gamma, eta, width, runs, hareWins, houndWins')
    for p in glob.glob('trainedQs/*.q'):
        with open(p, 'rb') as f:
            (gamma, width, eta, oruns, hareQ, houndQ) = pickle.load(f)
            gm = GameMaster(width, gamma, eta, False)
            res = gm.run(runs, hareQ, houndQ)
            print("{}, {}, {}, {}, {}, {}"
                    .format(gamma, eta, width, oruns, res['hare'], res['hounds']))
Exemple #2
0
def train_worker(q):
    while 1:
        try:
            task = q.get(True, 1)
        except queue.Empty:
            break
        width, gamma, eta, runs = task
        logger.warning('Training with gamma {} eta {} width {} runs {}'.format(
            gamma, eta, width, runs))
        gm = GameMaster(width, gamma, eta, True)
        Qs = gm.run(runs)
        with open('trainedQs/g{}_w{}_e{}_r{}.q'.format(gamma, width,
                eta, runs), 'wb') as f:
            pickle.dump((gamma, width, eta, runs, Qs[0], Qs[1]), f)
        q.task_done()