class_docstr: The configuration for framework metrics from Horovod distributed training.
docstr: Specify target steps or a target duration to profile.
  
  By default, it profiles step 13 of training.
  If **profile_default_steps** is set to `True` and none of the other range
  parameters is specified,
  the class uses the default config for horovod profiling.
  
  Args:
      start_step (int): The step to start profiling. The default is step 13.
      num_steps (int): The number of steps to profile. The default is for 1 steps.
      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.
docstr_tok: ["Specify","target","steps","or","a","target","duration","to","profile",".","By","default",",","it","profiles","step","13","of","training",".","If","*","*","profile_default_steps","*","*","is","set","to","`","True","`","and","none","of","the","other","range","parameters","is","specified",",","the","class","uses","the","default","config","for","horovod","profiling",".","Args",":","start_step","(","int",")",":","The","step","to","start","profiling",".","The","default","is","step","13.","num_steps","(","int",")",":","The","number","of","steps","to","profile",".","The","default","is","for","1","steps",".","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","."]
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 13 of training.
      If **profile_default_steps** is set to `True` and none of the other range
      parameters is specified,
      the class uses the default config for horovod profiling.
  
      Args:
          start_step (int): The step to start profiling. The default is step 13.
          num_steps (int): The number of steps to profile. The default is for 1 steps.
          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.
  
      """
      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 = HOROVOD_PROFILING_START_STEP_DEFAULT
          num_steps = PROFILING_NUM_STEPS_DEFAULT
  
      super().__init__(
          HOROVOD_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 HorovodProfilingConfig object from inherited base classes: MetricsConfigBase with example: obj = HorovodProfilingConfig(start_step, num_steps, start_unix_time, duration, profile_default_steps)