Files
tensorneat-mend/tensorneat/algorithm/base.py
wls2002 edfb0596e7 add input_transform and update_input_transform;
change the args for genome.forward.
Origin: (state, inputs, transformed)
New: (state, transformed, inputs)
2024-06-03 10:53:15 +08:00

50 lines
1.2 KiB
Python

from utils import State
class BaseAlgorithm:
def setup(self, state=State()):
"""initialize the state of the algorithm"""
raise NotImplementedError
def ask(self, state: State):
"""require the population to be evaluated"""
raise NotImplementedError
def tell(self, state: State, fitness):
"""update the state of the algorithm"""
raise NotImplementedError
def transform(self, state, individual):
"""transform the genome into a neural network"""
raise NotImplementedError
def restore(self, state, transformed):
raise NotImplementedError
def forward(self, state, transformed, inputs):
raise NotImplementedError
def update_by_batch(self, state, batch_input, transformed):
raise NotImplementedError
@property
def num_inputs(self):
raise NotImplementedError
@property
def num_outputs(self):
raise NotImplementedError
@property
def pop_size(self):
raise NotImplementedError
def member_count(self, state: State):
# to analysis the species
raise NotImplementedError
def generation(self, state: State):
# to analysis the algorithm
raise NotImplementedError