Cell evaluator class

class bluepyopt.ephys.evaluators.CellEvaluator(cell_model=None, param_names=None, fitness_protocols=None, fitness_calculator=None, isolate_protocols=None, sim=None, use_params_for_seed=False, timeout=None)[source]

Simple cell class


  • cell_model (ephys.models.CellModel) – CellModel object to evaluate

  • param_names (list of str) – names of the parameters (parameters will be initialised in this order)

  • fitness_protocols (dict of str -> ephys.protocols.Protocol) – protocols used during the fitness evaluation

  • fitness_calculator (ObjectivesCalculator) – ObjectivesCalculator object used for the transformation of Responses into Objective objects

  • isolate_protocols (bool) – whether to use multiprocessing to isolate the simulations (disabling this could lead to unexpected behavior, and might hinder the reproducability of the simulations)

  • sim (ephys.simulators.NrnSimulator) – simulator to use for the cell evaluation

  • use_params_for_seed (bool) – use a hashed version of the parameter dictionary as a seed for the simulator

  • timeout (int) – duration in second after which a Process will be interrupted when using multiprocessing

evaluate(param_list=None, target='scores')[source]

Run evaluation with lists as input and outputs

evaluate_with_dicts(param_dict=None, target='scores')[source]

Run evaluation with dict as input and output

evaluate_with_lists(param_list=None, target='scores')[source]

Run evaluation with lists as input and outputs


Convert objective_array in objective_dict


Convert objective_dict in objective_list


Convert param_array in param_dict

run_protocol(protocol, param_values, isolate=None, cell_model=None, sim=None, timeout=None)[source]

Run protocol

run_protocols(protocols, param_values)[source]

Run a set of protocols

static seed_from_param_dict(param_dict)[source]

Return a seed value based on a param_dict

set_neuron_variables_and_evaluate_with_lists(param_list=None, target='scores')[source]

Set NEURON variables and run evaluation with lists.

Setting the NEURON variables is necessary when using ipyparallel, since the new subprocesses have pristine NEURON.