def test_stats_file_handler_gets_two_filters(mocker): mocker.patch('logging.FileHandler.addFilter') log.configure_logging(stats_file="test.log") calls = logging.FileHandler.addFilter.call_args_list filters = [positional_args[0] for positional_args, _ in calls] assert isinstance(filters[0], log.StatsFilter) assert isinstance(filters[1], log.MpiFilter)
def test_configure_logging_formatting(module, timestamp, mocker): mocker.patch('logging.StreamHandler.setFormatter') log.configure_logging(module=module, timestamp=timestamp) positional_args, _ = logging.StreamHandler.setFormatter.call_args formatter = positional_args[0] assert ("module" in formatter._fmt) == module assert ("asctime" in formatter._fmt) == timestamp
def test_configure_logging_makes_stats_file_handler(mocker): mocker.patch('logging.Logger.addHandler') log.configure_logging(stats_file="test.log") positional_args, _ = logging.Logger.addHandler.call_args assert isinstance(positional_args[0], logging.FileHandler)
def test_configure_logging_makes_console_handler(mocker): mocker.patch('logging.Logger.addHandler') log.configure_logging() positional_args, _ = logging.Logger.addHandler.call_args assert isinstance(positional_args[0], logging.StreamHandler)
def test_configure_logging_verbosity(verbosity, expected_level, mocker): mocker.patch('logging.Logger.setLevel') log.configure_logging(verbosity) logging.Logger.setLevel.assert_called_with(expected_level)
import ComponentGenerator from bingo.symbolic_regression.explicit_regression \ import ExplicitRegression, ExplicitTrainingData from bingo.evolutionary_algorithms.deterministic_crowding import DeterministicCrowdingEA from bingo.evolutionary_algorithms.age_fitness import AgeFitnessEA from bingo.evolutionary_optimizers.parallel_archipelago \ import ParallelArchipelago from bingo.evaluation.evaluation import Evaluation from bingo.evolutionary_optimizers.island import Island from bingo.local_optimizers.continuous_local_opt \ import ContinuousLocalOptimization from bingo.util import log log.configure_logging(verbosity='detailed', module=True, timestamp=False, stats_file='stats.log') POP_SIZE = 3000 STACK_SIZE = 10 MAX_GENERATIONS = 30000 FITNESS_THRESHOLD = 1e-4 STAGNATION_LIMIT = 10000 MIN_GENERATIONS = 50 def init_x_vals(start, stop, num_points): return np.linspace(start, stop, num_points).reshape([-1, 1]) def equation_eval(x):