neurotune Package¶
controllers
Module¶
The controllers module provides different controller classes, applicable to different simulations.
A controller object’s job is to control simulations- At a high level a controller objects accepts a list of parameters and chromosomes and (usually) returns corresponding simulation data. This is implemented polymporphically in subclasses. Each controller class must therefore provide a run method, which is used by the evaluator to run a simulation.
A controller must be able to accept simulation parameters (chromosomes) from the evaluator.
The evaluator is therefore only concerned with assigining fitness to chromosomes.
On the whole this allows for deep modularization - as long as the user can provide a controller which will (for instance) reutrn sample and time arrays for arbitrary chromosome and parameter lists a range of evaluators would be able to utilise it.
-
class
neurotune.controllers.
CLIController
(cli_argument)[source]¶ Bases:
neurotune.controllers.__Controller
Control simulations via command line arguments executed through the Python os module.
-
class
neurotune.controllers.
NrnProject
(nrnproject_path, db_path, exp_id=None)[source]¶ Bases:
neurotune.controllers.__Controller
Run an nrnproject simulation based on optimizer parameters.
-
class
neurotune.controllers.
NrnProjectCondor
(host, username, password, port=80, local_analysis=False, candidates_per_job=100)[source]¶ Bases:
neurotune.controllers.NrnProject
Run NrnProject-based simulations on a Condor-managed federated system
-
class
neurotune.controllers.
SineWaveController
(sim_time, dt)[source]¶ Bases:
neurotune.controllers.__Controller
Simple sine wave generator which takes a number of variables (‘amp’, ‘period’, ‘offset’) and produces an output based on these.
evaluators
Module¶
optimizers
Module¶
Optimizer objects live here.
-
class
neurotune.optimizers.
CustomOptimizerA
(max_constraints, min_constraints, evaluator, mutation_rate=0.2, max_evaluations=100, population_size=10, num_selected=None, tourn_size=2, num_elites=1, maximize=False, num_offspring=None, seeds=[], verbose=False)[source]¶ Bases:
neurotune.optimizers.__Optimizer