def assign_fitnesses(self, targets):
self._params['evals'] = len(targets)
px_parameters = zip([self._params['specification']] * len(targets),
[self._params['sequence']] * len(targets),
[self.parse_individual(x) for x in targets])
if (self._params['processors'] == 1) or (sys.platform == 'win32'):
fitnesses = map(self.evaluation_function, px_parameters)
else:
with futures.ProcessPoolExecutor(
max_workers=self._params['processors']) as executor:
fitnesses = executor.map(
self.evaluation_function, px_parameters)
tars_fits = list(zip(targets, fitnesses))
if 'log_params' in self._params:
if self._params['log_params']:
self.parameter_log.append(
[(self.parse_individual(x[0]), x[1]) for x in tars_fits])
for ind, fit in tars_fits:
ind.fitness.values = (fit,)
评论列表
文章目录