MCPcopy Create free account
hub / github.com/FareedKhan-dev/ai-long-task / load

Method load

data/database.py:645–713  ·  view source on GitHub ↗

Load the database from disk Args: path: Path to load from

(self, path: str)

Source from the content-addressed store, hash-verified

643 logger.info(f"Saved database with {len(self.programs)} programs to {save_path}")
644
645 def load(self, path: str) -> None:
646 """
647 Load the database from disk
648
649 Args:
650 path: Path to load from
651 """
652 if not os.path.exists(path):
653 logger.warning(f"Database path {path} does not exist, skipping load")
654 return
655
656 # Load metadata first
657 metadata_path = os.path.join(path, "metadata.json")
658 saved_islands = []
659 if os.path.exists(metadata_path):
660 with open(metadata_path, "r") as f:
661 metadata = json.load(f)
662
663 self.island_feature_maps = metadata.get(
664 "island_feature_maps", [{} for _ in range(self.config.num_islands)]
665 )
666 saved_islands = metadata.get("islands", [])
667 self.archive = set(metadata.get("archive", []))
668 self.best_program_id = metadata.get("best_program_id")
669 self.island_best_programs = metadata.get(
670 "island_best_programs", [None] * len(saved_islands)
671 )
672 self.last_iteration = metadata.get("last_iteration", 0)
673 self.current_island = metadata.get("current_island", 0)
674 self.island_generations = metadata.get("island_generations", [0] * len(saved_islands))
675 self.last_migration_generation = metadata.get("last_migration_generation", 0)
676
677 # Load feature_stats for MAP-Elites grid stability
678 self.feature_stats = self._deserialize_feature_stats(metadata.get("feature_stats", {}))
679
680 logger.info(f"Loaded database metadata with last_iteration={self.last_iteration}")
681 if self.feature_stats:
682 logger.info(f"Loaded feature_stats for {len(self.feature_stats)} dimensions")
683
684 # Load programs
685 programs_dir = os.path.join(path, "programs")
686 if os.path.exists(programs_dir):
687 for program_file in os.listdir(programs_dir):
688 if program_file.endswith(".json"):
689 program_path = os.path.join(programs_dir, program_file)
690 try:
691 with open(program_path, "r") as f:
692 program_data = json.load(f)
693
694 program = Program.from_dict(program_data)
695 self.programs[program.id] = program
696 except Exception as e:
697 logger.warning(f"Error loading program {program_file}: {str(e)}")
698
699 # Reconstruct island assignments from metadata
700 self._reconstruct_islands(saved_islands)
701
702 # Ensure island_generations list has correct length

Callers 7

__init__Method · 0.95
main_asyncFunction · 0.80
load_traces_jsonFunction · 0.80
_load_checkpointMethod · 0.80
_load_from_directoryMethod · 0.80

Calls 5

_reconstruct_islandsMethod · 0.95
log_island_statusMethod · 0.95
getMethod · 0.80
from_dictMethod · 0.45

Tested by

no test coverage detected