class_docstr: Profiling information about a single function.
class_docstr_tok: ["Profiling","information","about","a","single","function","."]
code: def __repr__(self):
      device_name = "cuda" if not self.use_device else self.use_device
      device_time = (
          self.cuda_time_str
          if not self.use_device
          else self.privateuse1_time_str
      )
      device_memory_usage = (
          self.cuda_memory_usage
          if not self.use_device
          else self.privateuse1_memory_usage
      )
      return (
          "<FunctionEvent id={} name={} device_type={} node_id={} cpu_time={} start_us={} end_us={} "
          "cpu_children={} {}_time={} name={} thread={} input_shapes={} "
          "cpu_memory_usage={} {}_memory_usage={} is_async={} is_remote={} seq_nr={} is_legacy={}>".format(
              self.id,
              self.name,
              self.device_type,
              self.node_id,
              self.cpu_time_str,
              self.time_range.start,
              self.time_range.end,
              str([child.id for child in self.cpu_children]),
              device_name,
              device_time,
              self.name,
              self.thread,
              str(self.input_shapes),
              self.cpu_memory_usage,
              device_name,
              device_memory_usage,
              self.is_async,
              self.is_remote,
              self.sequence_nr,
              self.is_legacy,
          )
      )
  
imports: import bisect
  import itertools
  import math
  from collections import defaultdict, namedtuple
  from operator import attrgetter
  from typing import Any, Dict, List, Optional, Tuple
  import torch
  from torch.autograd import DeviceType
label_desc: Use image node_id 15 for calling the FunctionEvent obj's underlying member method code with example usage: obj.__repr__() and returns: str