def get_param_store(): """ Returns the ParamStore """ return _PYRO_PARAM_STORE def clear_param_store(): """ Clears the ParamStore. This is especially useful if you're working in a REPL. """ return _PYRO_PARAM_STORE.clear() _param = effectful(_PYRO_PARAM_STORE.get_param, type="param") def param(name, *args, **kwargs): """ Saves the variable as a parameter in the param store. To interact with the param store or write to disk, see `Parameters <parameters.html>`_. :param str name: name of parameter :param init_tensor: initial tensor or lazy callable that returns a tensor. For large tensors, it may be cheaper to write e.g. ``lambda: torch.randn(100000)``, which will only be evaluated on the initial statement. :type init_tensor: torch.Tensor or callable :param constraint: torch constraint, defaults to ``constraints.real``.
def _make_reparameterizable_functions_effectful(self): for name, fn in zip(self.reparameterizable_functions, self.original_fns): effectful_fn = update_wrapper(effectful(fn, type="reparameterizable"), fn) setattr(F, name, effectful_fn)