fn

copy_parameters_and_buffers

None
copy_parameters_and_buffers(source: Module, dest: Module)
source

Copy all parameter / buffer values from source into dest.

Both modules must expose the same set of parameter and buffer names; a KeyError is raised if a name found on source is missing on dest. Tensor data is copied in-place via Tensor.detach() and storage assignment so that dest's autograd graph (if any) is not disturbed by the copy.

Parameters

sourceModule
Module whose parameters / buffers provide the values to copy.
destModule
Module whose parameters / buffers receive the copied values.

Notes

Shape and dtype of corresponding entries must match. Devices may differ — the source values are routed through .to(device) to land on dest's device first.

Examples

>>> import lucid
>>> from lucid.nn.utils import copy_parameters_and_buffers
>>> src = MyModel()
>>> dst = MyModel()
>>> copy_parameters_and_buffers(src, dst)   # dst now mirrors src's weights + buffers