evolvepy.evaluator package
Submodules
evolvepy.evaluator.aggregator module
- class evolvepy.evaluator.aggregator.FitnessAggregator(evaluator: Evaluator, mode: int = 2, weights: int | float | complex | str | bytes | generic | Sequence[int | float | complex | str | bytes | generic] | Sequence[Sequence[Any]] | _SupportsArray | None = None)[source]
- Bases: - EvaluationStage- Aggregates multiple individual scores into a final fitness. - This stage must always be present in the case of evaluations with multiple fitness. - MAX = 0
 - MEAN = 2
 - MEDIAN = 3
 - MIN = 1
 - MODE_NAMES = ['MAX', 'MIN', 'MEAN', 'MEDIAN']
 - __init__(evaluator: Evaluator, mode: int = 2, weights: int | float | complex | str | bytes | generic | Sequence[int | float | complex | str | bytes | generic] | Sequence[Sequence[Any]] | _SupportsArray | None = None)[source]
- FitnessAggregator constructor. - Parameters:
- evaluator (Evaluator) – Evaluator used to evaluate the individuals. 
- mode (int, optional) – How scores will be aggregated. Defaults to FitnessAggregator.MEAN. Available modes: MAX, MIN, MEAN, MEDIAN. 
- weights (Union[ArrayLike, None], optional) – Weight to be used for each score. In the case of None, consider each score with the same weight. Defaults to None. 
 
 
 - call(population: ndarray) ndarray[source]
- Evaluates a population aggregating the scores. - Parameters:
- population (np.ndarray) – Population to be evaluated. 
- Returns:
- Population fitness. 
- Return type:
- np.ndarray 
 
 - func: List[Callable] = [<function amax>, <function amin>, <function mean>, <function median>]
 
evolvepy.evaluator.cache module
- class evolvepy.evaluator.cache.FitnessCache(evaluator: Evaluator, n_generation: int | None = None, max_decimals: int | None = None)[source]
- Bases: - EvaluationStage- Evaluations cache. - It allows recovering the previous evaluation of an already evaluated individual, increasing the performance. - __init__(evaluator: Evaluator, n_generation: int | None = None, max_decimals: int | None = None)[source]
- FitnessCache constructor. - Parameters:
- evaluator (Evaluator) – Evaluator used to evaluate the individuals. 
- n_generation (int, optional) – Amounts of generations to wait before deleting an old rating. Defaults to None (never deletes). 
- max_decimals (int, optional) – Decimal places to consider when comparing two individuals. Defaults to None (all places). 
 
 
 - call(population: ndarray) ndarray[source]
- Returns the stored fitness of individuals, or evaluates them if it doesn’t have it. - Parameters:
- population (np.ndarray) – Population to be evaluated. 
- Returns:
- Population fitness. 
- Return type:
- np.ndarray 
 
 - get_individual_representation(individual: ndarray) bytes[source]
- Generates the byte representation of an individual, considering the precision in decimal places. - Parameters:
- individual (np.ndarray) – Individual who will have representation generated. 
- Returns:
- Generated representation. 
- Return type:
- bytes 
 
 
evolvepy.evaluator.evaluator module
- class evolvepy.evaluator.evaluator.EvaluationStage(evaluator: Evaluator, parameters: Dict[str, object] | None = None, dynamic_parameters: Dict[str, bool] | None = None)[source]
- Bases: - Evaluator- An evaluation stage. Allows you to modify the behavior of an evaluator. - Can be chained with other stages. - __init__(evaluator: Evaluator, parameters: Dict[str, object] | None = None, dynamic_parameters: Dict[str, bool] | None = None) None[source]
- EvaluationStage constructor. - Parameters:
- evaluator (Evaluator) – Evaluator that will be modified. 
- parameters (Dict[str, object], optional) – Evaluator parameters. Defaults to None. 
- dynamic_parameters (Dict[str, bool], optional) – Evaluator dynamic parameters description. Defaults to None. 
 
 
 
- class evolvepy.evaluator.evaluator.Evaluator(n_scores: int = 1, individual_per_call: int = 1, other_parameters: Dict[str, object] | None = None, dynamic_parameters: Dict[str, bool] | None = None, name: str | None = None)[source]
- Bases: - Configurable,- ABC- Base evaluator class. - Must be inherited to be used. - __init__(n_scores: int = 1, individual_per_call: int = 1, other_parameters: Dict[str, object] | None = None, dynamic_parameters: Dict[str, bool] | None = None, name: str | None = None) None[source]
- Evalutor constructor. - Parameters:
- n_scores (int, optional) – Number of scores generated when evaluating an individual. Defaults to 1. 
- individual_per_call (int, optional) – Number of individuals that are evaluated at each call. Defaults to 1. 
- other_parameters (Dict[str,object], optional) – Other parameters defined by the inheritor class. Defaults to None. 
- dynamic_parameters (Dict[str,bool], optional) – Other dynamic parameters defined by the inheritor class. Defaults to None. 
 
 
 - property scores: ndarray
- Scores of the last evaluated individuals. 
 
evolvepy.evaluator.function_evaluator module
- class evolvepy.evaluator.function_evaluator.FunctionEvaluator(function: Callable[[ndarray], int | float | complex | str | bytes | generic | Sequence[int | float | complex | str | bytes | generic] | Sequence[Sequence[Any]] | _SupportsArray], n_scores: int = 1, mode: int = 2, individual_per_call: int = 1, name: str | None = None, n_thread: int | None = None)[source]
- Bases: - Evaluator- Evaluates individuals using a simple function. - JIT = 1
 - JIT_PARALLEL = 3
 - NJIT = 2
 - NJIT_PARALLEL = 4
 - PYTHON = 0
 - __init__(function: Callable[[ndarray], int | float | complex | str | bytes | generic | Sequence[int | float | complex | str | bytes | generic] | Sequence[Sequence[Any]] | _SupportsArray], n_scores: int = 1, mode: int = 2, individual_per_call: int = 1, name: str | None = None, n_thread: int | None = None) None[source]
- FunctionEvaluator constructor. - Parameters:
- function (Callable[[np.ndarray], ArrayLike]) – Function that will be used to evaluate individuals. 
- n_scores (int, optional) – Number of scores generated for each individual. Defaults to 1. 
- mode (int, optional) – In which compilation mode to use the fitness function. Defaults to FunctionEvaluator.NJIT. One of the class constants can be used: PYTHON: No JIT compilation JIT: With Numba JIT compilation NJIT: With Numba No Python mode. JIT_PARALLEL: With JIT and parallel assessments. NJIT_PARALLEL: With NJIT and parallel assessments. 
- individual_per_call (int, optional) – Number of individuals that are evaluated at each function call. Defaults to 1. 
 
 
 - call(population: ndarray) ndarray[source]
- Evaluates a population using the fitness function. - Parameters:
- population (np.ndarray) – Population to be evaluated. 
- Returns:
- Population fitness. 
- Return type:
- np.ndarray 
 
 - static static_call(function: Callable, individual_per_call: int, n_scores: int, population: ndarray) ndarray[source]
- Call the fitness function in the desired mode. - Static method to enable just-in-time compilation using Numba. - Parameters:
- function (Callable) – Function that will be used to evaluate individuals. 
- individual_per_call (int) – Number of individuals that are evaluated at each function call. 
- n_scores (int) – Number of scores generated for each individual. 
- population (np.ndarray) – Population to be evaluated 
 
- Returns:
- Population fitness 
- Return type:
- np.ndarray 
 
 
evolvepy.evaluator.multiple module
- class evolvepy.evaluator.multiple.MultipleEvaluation(evaluator: ~evolvepy.evaluator.evaluator.Evaluator, n_evaluation: int = 1, agregator: ~typing.Callable[[~numpy.ndarray, int], ~numpy.ndarray] = <function mean>, discard_min=False, discard_max=False)[source]
- Bases: - EvaluationStage- Evaluates the same individual several times to avoid noise. - __init__(evaluator: ~evolvepy.evaluator.evaluator.Evaluator, n_evaluation: int = 1, agregator: ~typing.Callable[[~numpy.ndarray, int], ~numpy.ndarray] = <function mean>, discard_min=False, discard_max=False) None[source]
- MultipleEvaluation constructor. - Parameters:
- evaluator (Evaluator) – Evaluator used to evaluate the individuals. 
- n_evaluation (int, optional) – Number of evaluations to be carried out. Defaults to 1. 
- agregator (Callable[[np.ndarray, int], np.ndarray], optional) – Function that will aggregate the fitness of the evaluations. Defaults to np.mean. 
- discard_min (bool, optional) – Whether it should discard the lower fitness assessment. Defaults to False. 
- discard_max (bool, optional) – Whether it should discard the higher fitness assessment. Defaults to False. 
 
 
 
evolvepy.evaluator.process_evaluator module
- class evolvepy.evaluator.process_evaluator.ProcessEvaluator(fitness_function: Type[ProcessFitnessFunction], n_process: int | None = None, timeout: int | None = None, n_scores: int = 1, individual_per_call: int = 1, args: Dict[str, object] | None = None, name: str | None = None)[source]
- Bases: - Evaluator- Evaluates individuals using multiple process. - __init__(fitness_function: Type[ProcessFitnessFunction], n_process: int | None = None, timeout: int | None = None, n_scores: int = 1, individual_per_call: int = 1, args: Dict[str, object] | None = None, name: str | None = None) None[source]
- ProcessEvaluator constructor. - Parameters:
- fitness_function (Type[ProcessFitnessFunction]) – Class that will be used to evaluate individuals. 
- n_process (int, optional) – Number of process to use. Defaults to None (same number as cpu_count). 
- timeout (int, optional) – Maximum time to wait for a new evaluation. Defaults to None (infinity). 
- n_scores (int, optional) – Number of scores generated by fitness function. Defaults to 1. 
- individual_per_call (int, optional) – Number of individuals that the fitness function receives. Defaults to 1. 
- args (Dict[str, object], optional) – Other arguments for the fitness_function constructor. Defaults to None. 
 
 
 
- class evolvepy.evaluator.process_evaluator.ProcessFitnessFunction(reset: bool = False)[source]
- Bases: - ABC- Base class of fitness function to be used to evaluate individuals in parallel with multiple processes. - It must be inherited in a class that will implement the evaluation. - __init__(reset: bool = False) None[source]
- ProcessFitnessFunction constructor. - Parameters:
- reset (bool, optional) – Whether to reset the evaluator status at each evaluation. Defaults to False. 
 
 
- evolvepy.evaluator.process_evaluator.evaluate_forever(fitness_function: Type[ProcessFitnessFunction], individuals_queue: Queue, scores_queue: Queue, args: Dict[str, object])[source]
- Prepared the cost function to evaluate the individuals, waits for the receipt of individuals and returns the scores. - Parameters:
- fitness_function (Type[ProcessFitnessFunction]) – Class to be used to evaluate individuals. 
- individuals_queue (mp.Queue) – Queue in which individuals who need to be evaluated will arrive. 
- scores_queue (mp.Queue) – Queue in which the generated scores will be placed. 
- args (Dict[str, object]) – Other evaluator class constructor arguments. 
 
 
Module contents
EvolvePy’s evaluators. Objects used to evaluate individuals.