code: def test_train(hydra_overrides: Dict[str, str], target_reward: float):
      # run training
      with Timeout(seconds=300):
          run_maze_job(
              hydra_overrides,
              config_module="maze.conf",
              config_name="conf_train",
          )
  
      # load tensorboard log
      tf_summary_files = glob.glob("*events.out.tfevents*")
      assert (
          len(tf_summary_files) == 1
      ), f"expected exactly 1 tensorflow summary file {tf_summary_files}"
      events_df = tensorboard_to_pandas(tf_summary_files[0])
  
      # check if target reward was reached
      max_mean_reward = np.nanmax(
          np.asarray(events_df.loc["train_BaseEnvEvents/reward/mean"])
      )
      assert max_mean_reward >= target_reward
  
file_path: maze/maze/test/train/performance/test_algorithm_performance.py
imports: import glob
  from typing import Dict
  import numpy
  import pytest
  from maze.test.shared_test_utils.run_maze_utils import run_maze_job
  from maze.utils.tensorboard_reader import tensorboard_to_pandas
  from maze.utils.timeout import Timeout
label_desc: Use image node_id 1 for calling a global function with example usage: test_train(hydra_overrides, target_reward) without return types