hunk.code_window:     """
       def __init__(self,
                    metrics: Union[str, List[str], Dict[str, str]],
                    filename: str = "checkpoint",
                    on: Union[str, List[str]] = "validation_end"):
           super(TuneReportCheckpointCallback, self).__init__(on)
           self._checkpoint = _TuneCheckpointCallback(filename, on)
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit:                  metrics: Union[None, str, List[str], Dict[str, str]] = None,
  
hunk.file_path: python/ray/tune/integration/pytorch_lightning.py
hunk.type: replace
file: # Runs on a single g3.4xl node
  # See https://github.com/ray-project/rl-experiments for results
  dueling-ddqn:
      env:
          grid_search:
              - BreakoutNoFrameskip-v4
              - BeamRiderNoFrameskip-v4
              - QbertNoFrameskip-v4
              - SpaceInvadersNoFrameskip-v4
      run: DQN
      config:
          # Works for both torch and tf.
          framework: tf
          double_q: true
          dueling: true
          num_atoms: 1
          noisy: false
          prioritized_replay: false
          n_step: 1
          target_network_update_freq: 8000
          lr: .0000625
          adam_epsilon: .00015
          hiddens: [512]
          learning_starts: 20000
          buffer_size: 1000000
          rollout_fragment_length: 4
          train_batch_size: 32
          exploration_config:
            epsilon_timesteps: 200000
            final_epsilon: 0.01
          prioritized_replay_alpha: 0.5
          final_prioritized_replay_beta: 1.0
          prioritized_replay_beta_annealing_timesteps: 2000000
          num_gpus: 0.2
          timesteps_per_iteration: 10000
  