code: def print_info(self):
      print(
          f"Total number: {self.total_number}",
          f"Total CPU memory occupation: {self.total_mem['cpu']}",
          f"Total CUDA memory occupation: {self.total_mem['cuda']}\n",
          sep="\n",
      )
  
      for state in self.states_cls:
          print(
              f"{state}: CPU memory occupation: {self.state_mem['cpu'][state]}",
              f"{state}: CUDA memory occupation: {self.state_mem['cuda'][state]}\n",
              sep="\n",
          )
  
file_path: ColossalAI/colossalai/legacy/zero/gemini/gemini_context.py
imports: from enum import EnumMeta
label_desc: Use image node_id 6 for calling the GeminiMemoryManager obj's underlying member method code with example usage: obj.print_info() without return types