class_docstr: Use a string to initialize a ProfilerOptions.
  The string should be in the format: "key1=value1;key2=value;key3=value3".
  For example:
    "profile_path=model.profile"
    "batch_range=[50, 60]; profile_path=model.profile"
    "batch_range=[50, 60]; tracer_option=OpDetail; profile_path=model.profile"
  
  ProfilerOptions supports following key-value pair:
    batch_range      - a integer list, e.g. [100, 110].
    state            - a string, the optional values are 'CPU', 'GPU' or 'All'. 
    sorted_key       - a string, the optional values are 'calls', 'total',
                       'max', 'min' or 'ave.
    tracer_option    - a string, the optional values are 'Default', 'OpDetail',
                       'AllOpDetail'.
    profile_path     - a string, the path to save the serialized profile data,
                       which can be used to generate a timeline.
    exit_on_finished - a boolean.
code: def __init__(self, options_str):
      assert isinstance(options_str, str)
  
      self._options = {
          "batch_range": [10, 20],
          "state": "All",
          "sorted_key": "total",
          "tracer_option": "Default",
          "profile_path": "/tmp/profile",
          "exit_on_finished": True,
          "timer_only": True,
      }
      self._parse_from_string(options_str)
  
file_path: PaddleDetection/ppdet/utils/profiler.py
imports: import sys
  import paddle
  import paddle.profiler
label_desc: Use image node_id 1 to create a new ProfilerOptions object from inherited base classes: object with example: obj = ProfilerOptions(options_str)