Files
tensorneat-mend/tensorneat/algorithm/neat/gene/base.py
2024-05-25 17:00:20 +08:00

30 lines
645 B
Python

from utils import State
class BaseGene:
"Base class for node genes or connection genes."
fixed_attrs = []
custom_attrs = []
def __init__(self):
pass
def setup(self, key, state=State()):
return state
def new_attrs(self, state, key):
raise NotImplementedError
def mutate(self, state, key, gene):
raise NotImplementedError
def distance(self, state, gene1, gene2):
raise NotImplementedError
def forward(self, state, attrs, inputs):
raise NotImplementedError
@property
def length(self):
return len(self.fixed_attrs) + len(self.custom_attrs)