Mixture

Contents

Mixture#

class braintools.init.Mixture(distributions, weights=None)#

Mixture of multiple weight distributions.

Randomly selects from multiple distributions for each connection according to specified weights.

Parameters:
  • distributions (list) – List of initialization distributions to mix.

  • weights (list | None) – Probability weights for each distribution (must sum to 1). If None, uses equal weights.

Examples

>>> import numpy as np
>>> import brainunit as u
>>> from braintools.init import Mixture, Normal, Uniform
>>>
>>> init = Mixture(
...     distributions=[
...         Normal(0.5 * u.siemens, 0.1 * u.siemens),
...         Uniform(0.8 * u.siemens, 1.2 * u.siemens)
...     ],
...     weights=[0.7, 0.3]
... )
>>> rng = np.random.default_rng(0)
>>> weights = init(1000, rng=rng)