code: def __fixed_root_get_difficulty(self, global_steps, root_degree=None):
      s_state = self.state["schedule"]
      if root_degree is None:
          root_degree = s_state["root_degree"]
      next_difficulty = (
          float(global_steps) / s_state["total_curriculum_step"]
      ) ** (1.0 / root_degree)
      next_difficulty = math.floor(
          next_difficulty
          * (
              self.state["max_difficulty"]
              - self.state["min_difficulty"]
          )
          + self.state["min_difficulty"]
      )
      next_difficulty -= next_difficulty % s_state["difficulty_step"]
      next_difficulty = min(
          next_difficulty, self.state["max_difficulty"]
      )
      return next_difficulty
  
file_path: H2O/h2o_flexgen/benchmark/third_party/DeepSpeed/deepspeed/runtime/data_pipeline/curriculum_scheduler.py
imports: import math
  from deepspeed.utils import logger
label_desc: Use image node_id 7 for calling the CurriculumScheduler obj's underlying member method code with example usage: obj.__fixed_root_get_difficulty(global_steps, root_degree) and returns: next_difficulty