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']))
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()