Source code for l2l.utils.individual

from l2l.utils.groups import ParameterGroup


[docs]class Individual(ParameterGroup): """ This class represents individuals in the parameter search. It derives from a Parameter group. The main elements which make an individual are the ID of its generation, its individual ID and the params specific for its run. """ def __init__(self, generation=0, ind_idx=0, params=[]): """ Initialization of the individual :param generation: ID of the generation to which this individual belongs to :param ind_idx: global ID of the individual :param params: individual parameters which are used to execute the optimizee simulate function """ self.params = {} for i in params: self.f_add_parameter(i.keys()[0], i[i.keys()[0]]) self.generation = generation self.ind_idx = ind_idx def __getattr__(self, attr): if attr == 'keys': return self.params.keys() ret = self.params.get('individual.' + attr) return ret def __getitem__(self, key): return self.__getattr__(key) def __getstate__(self): return self.__dict__ def __setstate__(self, d): self.__dict__.update(d)