brainpy.dyn.rates.ThresholdLinearModel#

class brainpy.dyn.rates.ThresholdLinearModel(size, tau_e=0.02, tau_i=0.01, beta_e=0.066, beta_i=0.351, noise_e=0.0, noise_i=0.0, e_initializer=ZeroInit, i_initializer=ZeroInit, seed=None, keep_size=False, name=None)[source]#

A threshold linear rate model.

The threshold linear rate model is given by 1

\[\begin{split}\begin{aligned} &\tau_{E} \frac{d \nu_{E}}{d t}=-\nu_{E}+\beta_{E}\left[I_{E}\right]_{+} \\ &\tau_{I} \frac{d \nu_{I}}{d t}=-\nu_{I}+\beta_{I}\left[I_{I}\right]_{+} \end{aligned}\end{split}\]

where \(\left[I_{E}\right]_{+}=\max \left(I_{E}, 0\right)\). \(v_E\) and \(v_I\) denote the firing rates of the excitatory and inhibitory populations respectively, \(\tau_E\) and \(\tau_I\) are the corresponding intrinsic time constants.

1

Chaudhuri, Rishidev, et al. “A large-scale circuit mechanism for hierarchical dynamical processing in the primate cortex.” Neuron 88.2 (2015): 419-431.

__init__(size, tau_e=0.02, tau_i=0.01, beta_e=0.066, beta_i=0.351, noise_e=0.0, noise_i=0.0, e_initializer=ZeroInit, i_initializer=ZeroInit, seed=None, keep_size=False, name=None)[source]#

Methods

__init__(size[, tau_e, tau_i, beta_e, ...])

get_delay_data(name, delay_step, *indices)

Get delay data according to the provided delay steps.

ints([method])

Collect all integrators in this node and the children nodes.

load_states(filename[, verbose])

Load the model states.

nodes([method, level, include_self])

Collect all children nodes.

register_delay(name, delay_step, delay_target)

Register delay variable.

register_implicit_nodes(nodes)

register_implicit_vars(variables)

reset()

Reset function which reset the whole variables in the model.

reset_delay(name, delay_target)

Reset the delay variable.

save_states(filename[, variables])

Save the model states.

train_vars([method, level, include_self])

The shortcut for retrieving all trainable variables.

unique_name([name, type_])

Get the unique name for this object.

update(t, dt)

The function to specify the updating rule.

update_delay(name, delay_data)

Update the delay according to the delay data.

vars([method, level, include_self])

Collect all variables in this node and the children nodes.

Attributes

global_delay_vars

name

steps