def toggleRun(self): env = gym.make(self.envEntry.get()) if not self.running: if not self.poolInitialized: if env.action_space.__class__ == gym.spaces.discrete.Discrete: actions = env.action_space.n - 1 else: actions = env.action_space.shape[0] if env.observation_space.__class__ == gym.spaces.discrete.Discrete: observation = env.observation_space.n else: observation = env.observation_space.shape[0] self.pool = neat.pool(int(self.populationEntry.get()), observation, actions, recurrent=False, connectionCost=True) env.close() self.poolInitialized = True self.running = True self.runButton.config(text='running') self.master.after(250, self.checkRunPaused) else: self.running = False self.runButton.config(text='pausing')
def toggleRun(self): if not self.running: if not self.poolInitialized: self.pool = neat.pool(self.population.get(), 208, 4, recurrent=False, connectionCost=False) self.poolInitialized = True self.running = True self.runButton.config(text='running') self.running = True self.runButton.config(text='running') self.master.after(250, self.checkRunPaused) else: self.running = False self.runButton.config(text='pausing')
def loadFile(self): filename = filedialog.askopenfilename() if filename is (): return f = open(filename, "rb") loadedPool = pickle.load(f) species = loadedPool[0] self.lastPopulation = loadedPool[2] self.plotDictionary = loadedPool[3] self.plotData = loadedPool[4] self.genomeDictionary = loadedPool[5] self.specieID = loadedPool[6] newInovation = 0 for specie in species: for genome in specie.genomes: for gene in genome.genes: if gene.innovation > newInovation: newInovation = gene.innovation self.pool = neat.pool(sum( [v for v in [len(specie.genomes) for specie in species]]), species[0].genomes[0].Inputs, species[0].genomes[0].Outputs, recurrent=species[0].genomes[0].recurrent) self.pool.newGenome.innovation = newInovation + 1 self.pool.species = species self.pool.best = loadedPool[1] self.pool.generation = len(self.pool.best) neat.pool.generations = loadedPool[7] self.population.set(self.pool.Population) self.poolInitialized = True f.close() self.ax.stackplot(list(range(len(self.plotData[0]))), *self.plotData, baseline='wiggle') canvas = FigureCanvasTkAgg(self.fig, self.master) canvas.get_tk_widget().grid(row=5, column=0, rowspan=5, sticky="nesw") print(filename, "loaded")