fn
vector_to_parameters
→Nonevector_to_parameters(vec: Tensor, parameters: Iterable[Parameter])Copy a flat 1-D tensor back into the supplied parameters in place.
Inverse of parameters_to_vector. vec is sliced according
to the size of each parameter (in iteration order) and the slices are
written into the parameters' storage. Typically called by line-search
routines and second-order optimisers that operate on the concatenated
vector and need to push the result back into the model.
Parameters
Returns
NoneThe copy is performed in place; no value is returned.
Notes
Conceptually the operation splits vec at the parameter
boundaries and reshapes each chunk:
Autograd graph state is left intact — the assignment touches storage directly, not the parameter's identity, so existing references in optimiser state remain valid.
Examples
>>> import lucid
>>> import lucid.nn as nn
>>> from lucid.nn.utils import parameters_to_vector, vector_to_parameters
>>> model = nn.Linear(4, 2)
>>> lr = 0.1
>>> v = parameters_to_vector(model.parameters())
>>> search_direction = lucid.ones(v.shape[0])
>>> v = v + lr * search_direction
>>> vector_to_parameters(v, model.parameters())
>>> bool((parameters_to_vector(model.parameters()) == v).all())
True