in neuron_explainer/models/hooks.py [0:0]
def __repr__(self, indent=0, name=None):
import inspect
indent_str = " " * indent
full_name = f"{name}" if name is not None else self.name
if self.bound_kwargs:
full_name += f" {self.bound_kwargs}"
if self.is_empty():
return f"{indent_str}{full_name}"
def hook_repr(hook):
if "indent" in inspect.signature(hook.__class__.__repr__).parameters:
return hook.__repr__(indent=indent + 4)
else:
return indent_str + " " * 4 + repr(hook)
hooks_repr = "\n".join(f"{hook_repr(hook)}" for hook in self._hooks)
return f"{indent_str}{full_name}\n{hooks_repr}"