class_docstr: Profiling information about a single function.
class_docstr_tok: ["Profiling","information","about","a","single","function","."]
code: def __init__(
      self,
      id,
      name,
      thread,
      start_us,
      end_us,
      fwd_thread=None,
      input_shapes=None,
      stack=None,
      scope=0,
      use_device=None,
      cpu_memory_usage=0,
      cuda_memory_usage=0,
      privateuse1_memory_usage=0,
      is_async=False,
      is_remote=False,
      sequence_nr=-1,
      node_id=-1,
      device_type=DeviceType.CPU,
      device_index=0,
      is_legacy=False,
      flops=None,
      trace_name=None,
      concrete_inputs=None,
  ):
      self.id: int = id
      self.node_id: int = node_id
      self.name: str = name
      self.trace_name: str = trace_name
      self.time_range: Interval = Interval(start_us, end_us)
      self.thread: int = thread
      self.fwd_thread: Optional[int] = fwd_thread
      self.kernels: List[Kernel] = []
      self.count: int = 1
      self.cpu_children: List[FunctionEvent] = []
      self.cpu_parent: Optional[FunctionEvent] = None
      self.input_shapes: Tuple[int, ...] = input_shapes
      self.concrete_inputs: List[Any] = concrete_inputs
      self.stack: List = stack
      self.scope: int = scope
      self.use_device: Optional[str] = use_device
      self.cpu_memory_usage: int = cpu_memory_usage
      self.cuda_memory_usage: int = cuda_memory_usage
      self.privateuse1_memory_usage: int = privateuse1_memory_usage
      self.is_async: bool = is_async
      self.is_remote: bool = is_remote
      self.sequence_nr: int = sequence_nr
      self.device_type: DeviceType = device_type
      self.device_index: int = device_index
      self.is_legacy: bool = is_legacy
      self.flops: Optional[int] = flops
  
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 1 to create a new FunctionEvent object from inherited base classes: FormattedTimesMixin with example: obj = FunctionEvent(id, name, thread, start_us, end_us, fwd_thread, input_shapes, stack, scope, use_device, cpu_memory_usage, cuda_memory_usage, privateuse1_memory_usage, is_async, is_remote, sequence_nr, node_id, device_type, device_index, is_legacy, flops, trace_name, concrete_inputs)