braincell.channel.freeze_gradient

braincell.channel.freeze_gradient#

braincell.channel.freeze_gradient(value)[source]#

Return value with gradients through it stopped, keeping its unit.

jax.lax.stop_gradient operates on arrays, so a brainunit.Quantity has to be taken apart and put back together around it. Channels whose published variant freezes the driving force use this; see GhkHH.freeze_drive_gradient.

Parameters:

value (ArrayLike) – A quantity or bare array.

Returns:

The same value, with the backward pass cut.

Return type:

ArrayLike