odynn.circuit module¶
-
class
odynn.circuit.Circuit(neurons, synapses={}, gaps={}, tensors=False, labels=None, sensors=set(), commands=set())[source]¶ Bases:
objectAttributes: init_state(ndarray) Initial states of neurons
neuronsNeurons contained in the circuit
numNumber of circuits contained in the object, used to train in parallel
Methods
calculate(i_inj)Simulate the circuit with a given input current. plot([show, save])Plot the circuit using networkx :param show: If True, show the figure :type show: bool :param save: If True, save the figure :type save: bool plots_output_mult(ts, i_inj, states[, …])plot multiple voltages and Ca2+ concentration step(hprev, curs)run one time step plot_output -
calculate(i_inj)[source]¶ Simulate the circuit with a given input current.
Parameters: i_inj (ndarray) – input current Returns: state vector and synaptical currents Return type: ndarray, ndarray
-
init_state¶ (ndarray) Initial states of neurons
-
neurons¶ Neurons contained in the circuit
-
num¶ Number of circuits contained in the object, used to train in parallel
-
parameter_names= ['mdp', 'E', 'G', 'scale', 'G_gap']¶ Circuit of neurons with synapses and gap junctions
-
plot(show=True, save=False)[source]¶ Plot the circuit using networkx :param show: If True, show the figure :type show: bool :param save: If True, save the figure :type save: bool
-
plots_output_mult(ts, i_inj, states, i_syn=None, suffix='', show=True, save=False, l=1, trace=True)[source]¶ plot multiple voltages and Ca2+ concentration
Parameters: - ts (ndarray) – time sequence
- i_inj (ndarray) – input currents
- states (ndarray) – series of neural states
- i_syn (ndarray, optional) – synaptic currents (Default value = None)
- suffix (str, optional) – Suffix for the file name (Default value = “”)
- show (bool, optional) – If True, show the figure (Default value = True)
- save (bool, optional) – If True, save the figure (Default value = False)
-
class
odynn.circuit.CircuitTf(neurons, synapses={}, gaps={}, labels=None, sensors=set(), commands=set())[source]¶ Bases:
odynn.circuit.Circuit,odynn.optim.OptimizedCircuit using tensorflow
Attributes: init_params(dict), initial model parameters
init_state(ndarray) Initial states of neurons
neuronsNeurons contained in the circuit
numNumber of circuits contained in the object, used to train in parallel
variablesdict, current Tf variables
Methods
apply_constraints(session)Apply the constraints and call the apply_constraints function of the neurons build_graph([batch])Build the tensorflow graph. calculate(i)Iterate over i (current) and return the state variables obtained after each step plot([show, save])Plot the circuit using networkx :param show: If True, show the figure :type show: bool :param save: If True, save the figure :type save: bool plot_vars(var_dic[, suffix, show, save, func])plot variation/comparison/boxplots of synaptic variables plots_output_mult(ts, i_inj, states[, …])plot multiple voltages and Ca2+ concentration reset()prepare the variables as tensors, prepare the constraints, call reset for self._neurons settings()Returns(str): string describing the object step(hprev, curs)run one time step apply_init create_random plot_output predump study_vars -
__init__(neurons, synapses={}, gaps={}, labels=None, sensors=set(), commands=set())[source]¶ Parameters: - labels –
- synapses (dict) – initial parameters for the synapses
- neurons (NeuronModel) – if not None, all other parameters except conns are ignores
-
apply_constraints(session)[source]¶ Apply the constraints and call the apply_constraints function of the neurons
Parameters: session – tensorflow session
-
build_graph(batch=1)[source]¶ Build the tensorflow graph. Take care of the loop and the initial state.
-
calculate(i)[source]¶ Iterate over i (current) and return the state variables obtained after each step
Parameters: i (ndarray) – input current, [time, batch, neuron, model] Returns: state vectors concatenated [i.shape[0], len(self.init_state)(, i.shape[1]), self.num] Return type: ndarray
-
classmethod
create_random(n_neuron, syn_keys={}, gap_keys={}, n_rand=10, dt=0.1, labels=None, sensors=set(), commands=set(), fixed=(), groups=None, neurons=None)[source]¶
-
init_params¶ (dict), initial model parameters
-
plot_vars(var_dic, suffix='', show=True, save=False, func=<function plot>)[source]¶ plot variation/comparison/boxplots of synaptic variables
Parameters: - var_dic (dict) – synaptic parameters, each value of size [time, n_synapse, parallelization]
- suffix – (Default value = “”)
- show (bool) – If True, show the figure (Default value = True)
- save (bool) – If True, save the figure (Default value = False)
- func – (Default value = plot)
-
reset()[source]¶ prepare the variables as tensors, prepare the constraints, call reset for self._neurons
-
variables¶ dict, current Tf variables
-
odynn.circuit.get_gap_rand()[source]¶ Give random parameters dictionnary for a gap junction
Returns: random parameters for a gap junction Return type: dict
-
odynn.circuit.get_syn_rand(exc=True)[source]¶ Give random parameters dictionnary for a chemical synapse
Parameters: exc (bool) – If True, give an excitatory synapse (Default value = True) Returns: random parameters for a chemical synapse Return type: dict
-
odynn.circuit.give_constraints(conns)[source]¶ Give constraints for synaptic parameters
Parameters: conns (dict) – dictionnary of chemical synapse parameters Returns: constraints Return type: dict