brainstate.nn.vmap_call_all_fns

brainstate.nn.vmap_call_all_fns#

brainstate.nn.vmap_call_all_fns(target, fn_name, args=(), kwargs=None, axis_size=None, node_to_exclude=None, state_tag=None, fn_if_not_exist='raise')[source]#

Apply vectorized mapping to call a function on all module nodes with batched state handling.

This function creates multiple batched instances by applying vmap to the specified method call across all module nodes. Each batch element maintains its own random key and state values. This is particularly useful for creating ensembles or batched models.

Parameters:
Raises:
  • ValueError – If axis_size is None or not a positive integer.

  • TypeError – If kwargs is not a mapping.

Return type:

TypeVar(T, bound= Module)

Examples

>>> import brainstate
>>>
>>> net = brainstate.nn.Linear(10, 20)
>>> # Create 5 batched instances with different initializations
>>> brainstate.nn.vmap_call_all_fns(net, 'init_state', axis_size=5)