Skip to content

Commit e70a068

Browse files
committed
Changed checkpoint dump from end_generation to post_evaluate; added best_genome to checkpoint and Population initial_state
1 parent 7a85cf4 commit e70a068

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

neat/checkpoint.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def __init__(self, generation_interval=100, time_interval_seconds=300,
4343
def start_generation(self, generation):
4444
self.current_generation = generation
4545

46-
def end_generation(self, config, population, species_set):
46+
def post_evaluate(self, config, population, species_set, best_genome):
4747
checkpoint_due = False
4848

4949
if self.time_interval_seconds is not None:
@@ -57,23 +57,23 @@ def end_generation(self, config, population, species_set):
5757
checkpoint_due = True
5858

5959
if checkpoint_due:
60-
self.save_checkpoint(config, population, species_set, self.current_generation)
60+
self.save_checkpoint(config, population, species_set, best_genome, self.current_generation)
6161
self.last_generation_checkpoint = self.current_generation
6262
self.last_time_checkpoint = time.time()
6363

64-
def save_checkpoint(self, config, population, species_set, generation):
64+
def save_checkpoint(self, config, population, species_set, best_genome, generation):
6565
""" Save the current simulation state. """
6666
filename = '{0}{1}'.format(self.filename_prefix, generation)
6767
print("Saving checkpoint to {0}".format(filename))
6868

6969
with gzip.open(filename, 'w', compresslevel=5) as f:
70-
data = (generation, config, population, species_set, random.getstate())
70+
data = (generation, config, population, species_set, best_genome, random.getstate())
7171
pickle.dump(data, f, protocol=pickle.HIGHEST_PROTOCOL)
7272

7373
@staticmethod
7474
def restore_checkpoint(filename):
7575
"""Resumes the simulation from a previous saved point."""
7676
with gzip.open(filename) as f:
77-
generation, config, population, species_set, rndstate = pickle.load(f)
77+
generation, config, population, species_set, best_genome, rndstate = pickle.load(f)
7878
random.setstate(rndstate)
79-
return Population(config, (population, species_set, generation))
79+
return Population(config, (population, species_set, best_genome, generation))

neat/population.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ def __init__(self, config, initial_state=None):
4444
self.species = config.species_set_type(config.species_set_config, self.reporters)
4545
self.generation = 0
4646
self.species.speciate(config, self.population, self.generation)
47+
self.best_genome = None
4748
else:
48-
self.population, self.species, self.generation = initial_state
49+
self.population, self.species, self.best_genome, self.generation = initial_state
4950

50-
self.best_genome = None
5151

5252
def add_reporter(self, reporter):
5353
self.reporters.add(reporter)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy