class_docstr: The configuration for framework metrics to be collected for detailed profiling.
docstr: Specify target steps or a target duration to profile.
  
  By default, it profiles step 5 of the training job.
  
  If **profile_default_steps** is set to `True` and none of the other
  range parameters is specified,
  the class uses the default configuration for detailed profiling.
  
  Args:
      start_step (int): The step to start profiling. The default is step 5.
      num_steps (int): The number of steps to profile. The default is for 1 step.
      start_unix_time (int): The Unix time to start profiling.
      duration (float): The duration in seconds to profile.
      profile_default_steps (bool): Indicates whether the default config should be used.
  
  .. tip::
      Available profiling range parameter pairs are
      (**start_step** and **num_steps**) and (**start_unix_time** and **duration**).
      The two parameter pairs are mutually exclusive, and this class validates
      if one of the two pairs is used. If both pairs are specified, a
      conflict error occurs.
  
  .. warning::
      This detailed framework profiling feature discontinues support for TensorFlow v2.11
      and later. To use the detailed profiling feature, use previous versions of
      TensorFlow between v2.3.1 and v2.10.0.
docstr_tok: ["Specify","target","steps","or","a","target","duration","to","profile",".","By","default",",","it","profiles","step","5","of","the","training","job",".","If","*","*","profile_default_steps","*","*","is","set","to","`","True","`","and","none","of","the","other","range","parameters","is","specified",",","the","class","uses","the","default","configuration","for","detailed","profiling",".","Args",":","start_step","(","int",")",":","The","step","to","start","profiling",".","The","default","is","step","5.","num_steps","(","int",")",":","The","number","of","steps","to","profile",".","The","default","is","for","1","step",".","start_unix_time","(","int",")",":","The","Unix","time","to","start","profiling",".","duration","(","float",")",":","The","duration","in","seconds","to","profile",".","profile_default_steps","(","bool",")",":","Indicates","whether","the","default","config","should","be","used",".","..","tip",":",":","Available","profiling","range","parameter","pairs","are","(","*","*","start_step","*","*","and","*","*","num_steps","*","*",")","and","(","*","*","start_unix_time","*","*","and","*","*","duration","*","*",")",".","The","two","parameter","pairs","are","mutually","exclusive",",","and","this","class","validates","if","one","of","the","two","pairs","is","used",".","If","both","pairs","are","specified",",","a","conflict","error","occurs",".","..","warning",":",":","This","detailed","framework","profiling","feature","discontinues","support","for","TensorFlow","v2.11","and","later",".","To","use","the","detailed","profiling","feature",",","use","previous","versions","of","TensorFlow","between","v2.3.1","and","v2.10.0","."]
code: def __init__(
      self,
      start_step=None,
      num_steps=None,
      start_unix_time=None,
      duration=None,
      profile_default_steps=False,
  ):
      """Specify target steps or a target duration to profile.
  
      By default, it profiles step 5 of the training job.
  
      If **profile_default_steps** is set to `True` and none of the other
      range parameters is specified,
      the class uses the default configuration for detailed profiling.
  
      Args:
          start_step (int): The step to start profiling. The default is step 5.
          num_steps (int): The number of steps to profile. The default is for 1 step.
          start_unix_time (int): The Unix time to start profiling.
          duration (float): The duration in seconds to profile.
          profile_default_steps (bool): Indicates whether the default config should be used.
  
      .. tip::
          Available profiling range parameter pairs are
          (**start_step** and **num_steps**) and (**start_unix_time** and **duration**).
          The two parameter pairs are mutually exclusive, and this class validates
          if one of the two pairs is used. If both pairs are specified, a
          conflict error occurs.
  
      .. warning::
          This detailed framework profiling feature discontinues support for TensorFlow v2.11
          and later. To use the detailed profiling feature, use previous versions of
          TensorFlow between v2.3.1 and v2.10.0.
  
      """
      assert isinstance(
          profile_default_steps, bool
      ), ErrorMessages.INVALID_PROFILE_DEFAULT_STEPS.value
      if (
          profile_default_steps
          or start_step
          is num_steps
          is start_unix_time
          is duration
          is None
      ):
          start_step = DETAILED_PROFILING_START_STEP_DEFAULT
          num_steps = PROFILING_NUM_STEPS_DEFAULT
  
      super().__init__(
          DETAILED_PROFILING_CONFIG_NAME,
          start_step,
          num_steps,
          start_unix_time,
          duration,
      )
  
imports: from __future__ import absolute_import
  from sagemaker.debugger.profiler_constants import DATALOADER_PROFILING_CONFIG_NAME, DATALOADER_PROFILING_START_STEP_DEFAULT, DETAILED_PROFILING_CONFIG_NAME, DETAILED_PROFILING_START_STEP_DEFAULT, SMDATAPARALLEL_PROFILING_CONFIG_NAME, SMDATAPARALLEL_PROFILING_START_STEP_DEFAULT, HOROVOD_PROFILING_CONFIG_NAME, HOROVOD_PROFILING_START_STEP_DEFAULT, PROFILING_NUM_STEPS_DEFAULT, PYTHON_PROFILING_CONFIG_NAME, PYTHON_PROFILING_NUM_STEPS_DEFAULT, PYTHON_PROFILING_START_STEP_DEFAULT, START_STEP_DEFAULT
  from sagemaker.debugger.utils import convert_json_config_to_string, cProfileTimer, is_valid_regex, is_valid_unix_time, ErrorMessages, PythonProfiler
label_desc: Use image node_id 1 to create a new DetailedProfilingConfig object from inherited base classes: MetricsConfigBase with example: obj = DetailedProfilingConfig(start_step, num_steps, start_unix_time, duration, profile_default_steps)