Conditional#
- class braintools.init.Conditional(condition_fn, true_dist, false_dist)#
Conditional weight distribution based on neuron properties.
Uses different distributions based on a condition function applied to neuron indices.
- Parameters:
condition_fn (callable) – Function that takes neuron indices and returns boolean array.
true_dist (
Initialization) – Distribution to use when condition is True.false_dist (
Initialization) – Distribution to use when condition is False.
Examples
>>> import numpy as np >>> import brainunit as u >>> from braintools.init import Conditional, Constant, Normal >>> >>> def is_excitatory(indices): ... return indices < 800 >>> >>> init = Conditional( ... condition_fn=is_excitatory, ... true_dist=Normal(0.5 * u.siemens, 0.1 * u.siemens), ... false_dist=Normal(-0.3 * u.siemens, 0.05 * u.siemens) ... ) >>> rng = np.random.default_rng(0) >>> weights = init(1000, neuron_indices=np.arange(1000), rng=rng)