class_docstr: This policy applies to every module of the specified module classes,
  passing in the kwargs given to the root.
code: def _run_policy(
      self,
      root_module: nn.Module,
      ignored_modules: Set[nn.Module],
      root_kwargs: Dict[str, Any],
  ) -> Dict[nn.Module, Dict[str, Any]]:
      module_classes = tuple(self._module_classes)
      target_module_to_kwargs: Dict[nn.Module, Dict[str, Any]] = {}
      for module in root_module.modules():
          if module in ignored_modules:
              continue
          elif isinstance(module, module_classes):
              # Shallow copy to avoid coupling changes across modules
              target_module_to_kwargs[module] = copy.copy(root_kwargs)
      return target_module_to_kwargs
  
imports: import contextlib
  import copy
  from abc import ABC, abstractmethod
  from typing import Any, Callable, cast, Dict, Generator, Iterable, Optional, Sequence, Set, Tuple, Type, Union
  import torch.nn
label_desc: Use image node_id 2 for calling the ModuleWrapPolicy obj's underlying member method code with example usage: obj._run_policy(root_module, ignored_modules, root_kwargs) and returns: target_module_to_kwargs