code: def summarize_video_metrics(hook_args):
    
    problem_name = hook_args.problem.name
    current_problem = hook_args.problem
    hparams = hook_args.hparams
    output_dirs = hook_args.output_dirs
    predictions = hook_args.predictions
    frame_shape = [
        current_problem.frame_height, current_problem.frame_width,
        current_problem.num_channels
    ]
    metrics_graph = tf.Graph()
    with metrics_graph.as_default():
      if predictions:
        metrics_results, _ = video_metrics.compute_video_metrics_from_predictions(
            predictions, decode_hparams=hook_args.decode_hparams)
      else:
        metrics_results, _ = video_metrics.compute_video_metrics_from_png_files(
            output_dirs, problem_name, hparams.video_num_target_frames,
            frame_shape)
  
    summary_values = []
    for name, array in six.iteritems(metrics_results):
      for ind, val in enumerate(array):
        tag = "metric_{}/{}".format(name, ind)
        summary_values.append(tf.Summary.Value(tag=tag, simple_value=val))
    return summary_values
docs: Computes video metrics summaries using the decoder output.