TangencyInitialiser
#
tangency_init
#
- hypercoil.init.semidefinite.tangency_init(init_data: Tensor, *, mean_specs: Sequence[Callable], std: float = 0.0, key: PRNGKey | None = None) Tensor [source]#
Initialise points of tangency for projection between the positive semidefinite cone and a tangent subspace.
- Dimension:
init_data : \((N, *, D, D)\) or \((N, *, obs, C)\) N denotes the number of observations over which each mean is computed. If the axis attribute of the mean specifications are configured appropriately, N need not correspond to the first axis of the input dataset.
- Parameters:
- init_dataTensor
Input dataset over which each mean is to be estimated.
- mean_specslist(
_SemidefiniteMean
objects) List of specifications for estimating a measure of central tendency in the positive semidefinite cone.
_SemidefiniteMean
subclasses are found at hypercoil.init.semidefinite.- stdfloat
Standard deviation of the positive semidefinite noise added to each channel of the weight matrix. This can be used to ensure that different channels initialised from the same mean receive different gradients and differentiate from one another.
- Returns:
- Tensor
The initialised tensor.
TangencyInitialiser
#
- class hypercoil.init.semidefinite.TangencyInitialiser(init_data: Tensor, mean_specs: Sequence[Callable], std: float = 0.0, mapper: Type[MappedParameter] | None = None)[source]#
Initialise points of tangency for projection between the positive semidefinite cone and a tangent subspace.
See
tangency_init()
for argument details.Methods
init
(model, *[, mapper, std, where, key])Initialise a parameter using the specified initialiser and mapper.