class_docstr: Implementation of HpoExecutor Interface, where our custom logic is used as the backend
code: def initialize(
      self,
      hyperparameter_tune_kwargs,
      default_num_trials=None,
      time_limit=None,
  ):
      if not isinstance(hyperparameter_tune_kwargs, tuple):
          if isinstance(hyperparameter_tune_kwargs, dict):
              hyperparameter_tune_kwargs = copy.deepcopy(
                  hyperparameter_tune_kwargs
              )
              self.hyperparameter_tune_kwargs = (
                  hyperparameter_tune_kwargs
              )
          num_trials = default_num_trials  # This will be ignored if hyperparameter_tune_kwargs contains num_trials
          if default_num_trials is None:
              num_trials = 1 if time_limit is None else 1000
          hyperparameter_tune_kwargs = scheduler_factory(
              hyperparameter_tune_kwargs,
              num_trials=num_trials,
              nthreads_per_trial="auto",
              ngpus_per_trial="auto",
          )
          hyperparameter_tune_kwargs = copy.deepcopy(
              hyperparameter_tune_kwargs
          )
          if "time_out" not in hyperparameter_tune_kwargs[1]:
              hyperparameter_tune_kwargs[1]["time_out"] = time_limit
          time_limit = hyperparameter_tune_kwargs[1]["time_out"]
      self.scheduler_options = hyperparameter_tune_kwargs
      self.time_limit = time_limit
      if self.hyperparameter_tune_kwargs is None:
          self.hyperparameter_tune_kwargs = {}
  
imports: from __future__ import annotations
  import copy
  import logging
  import math
  import os
  import time
  from abc import ABC, abstractmethod
  from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, Union
  import pandas
  from autogluon.common import space
  from autogluon.common.utils.resource_utils import ResourceManager
  from autogluon.common.utils.s3_utils import is_s3_url
  from ..ray.resources_calculator import ResourceCalculator
  from ..scheduler.scheduler_factory import scheduler_factory
  from ..utils.savers import save_pkl
  from .constants import CUSTOM_BACKEND, RAY_BACKEND
  from .exceptions import EmptySearchSpace
label_desc: Use image node_id 5 for calling the CustomHpoExecutor obj's underlying member method code with example usage: obj.initialize(hyperparameter_tune_kwargs, default_num_trials, time_limit) without return types