def trainPool(population,envNum,species,queue,env):
before = time.time()
results = []
jobs = Queue()
lock = multiprocessing.Lock()
s = 0
for specie in species:
g=0
for genome in specie.genomes:
genome.generateNetwork()
jobs.put((s,g,genome))
g+=1
s+=1
mPool = multiprocessing.Pool(processes=envNum,initializer = poolInitializer,initargs=(jobs,lock,))
results = mPool.map(jobTrainer,[env]*envNum)
mPool.close()
mPool.join()
after = time.time()
killFCEUX()
print("next generation")
queue.put(results)
评论列表
文章目录