code: def summarize(self) -> Dict[str, DeepSpeedLayerSummary]:  # type: ignore[override]
      summary = OrderedDict(
          (name, DeepSpeedLayerSummary(module))
          for name, module in self.named_modules
      )
      if self._model.example_input_array is not None:
          self._forward_example_input()
      for layer in summary.values():
          layer.detach_hook()
  
      if self._max_depth >= 1:
          # remove summary entries with depth > max_depth
          for k in [
              k for k in summary if k.count(".") >= self._max_depth
          ]:
              del summary[k]
  
      return summary
  
file_path: pytorch-lightning/src/lightning/pytorch/utilities/model_summary/model_summary_deepspeed.py
imports: from collections import OrderedDict
  from typing import Dict, List, Tuple
  import torch
  from lightning_utilities.core.imports import RequirementCache
  from torch.nn import Parameter
  from lightning.pytorch.utilities.model_summary.model_summary import NOT_APPLICABLE, LayerSummary, ModelSummary, _is_lazy_weight_tensor, get_human_readable_count
label_desc: Use image node_id 1 for calling the DeepSpeedSummary obj's underlying member method code with example usage: obj.summarize() and returns: summary