code: def run(self, trainer, n_trials: int, direction: str, **kwargs):
      return run_hp_search_ray(trainer, n_trials, direction, **kwargs)
  
imports: from .integrations import is_optuna_available, is_ray_tune_available, is_sigopt_available, is_wandb_available, run_hp_search_optuna, run_hp_search_ray, run_hp_search_sigopt, run_hp_search_wandb
  from .trainer_utils import HPSearchBackend, default_hp_space_optuna, default_hp_space_ray, default_hp_space_sigopt, default_hp_space_wandb
  from .utils import logging
label_desc: Use image node_id 2 for calling the RayTuneBackend obj's underlying member method code with example usage: obj.run(trainer, n_trials, direction) and returns: run_hp_search_ray