with h5py.File(PATH_TVSum, 'r') as hdf:
        for video_name in keys:
            video_index = video_name[6:]

            user_summary = np.array(
                hdf.get('video_' + video_index + '/user_summary'))
            sb = np.array(hdf.get('video_' + video_index + '/change_points'))
            n_frames = np.array(hdf.get('video_' + video_index + '/n_frames'))
            positions = np.array(hdf.get('video_' + video_index + '/picks'))

            all_user_summary.append(user_summary)
            all_shot_bound.append(sb)
            all_nframes.append(n_frames)
            all_positions.append(positions)

    all_summaries = generate_summary(all_shot_bound, all_scores, all_nframes,
                                     all_positions)

    all_f_scores = []
    # compare the resulting summary with the ground truth one, for each video
    for video_index in range(len(all_summaries)):
        summary = all_summaries[video_index]
        user_summary = all_user_summary[video_index]
        f_score = evaluate_summary(summary, user_summary, eval_method)
        all_f_scores.append(f_score)

    f_score_epochs.append(np.mean(all_f_scores))
    print("f_score: ", np.mean(all_f_scores))

with open(path + '/f_scores.txt', 'w') as outfile:
    json.dump(f_score_epochs, outfile)
            n_frames = np.array(hdf.get('video_' + video_index + '/n_frames'))
            positions = np.array(hdf.get('video_' + video_index + '/picks'))

            all_gt_scores.append(gt_score)
            all_shot_bound.append(sb)
            all_nframes.append(n_frames)
            all_positions.append(positions)

    # generate summary based on the auto-generated scores
    all_summaries = generate_summary(all_shot_bound, all_scores, all_nframes,
                                     all_positions)

    # generate summary based on the ground-truth scores
    all_gt_summary = generate_summary(all_shot_bound, all_gt_scores,
                                      all_nframes, all_positions)

    all_f_scores = []

    # Compare the resulting summary with the ground truth one, for each video
    for video_index in range(len(all_summaries)):
        summary = all_summaries[video_index]
        gt_summary = all_gt_summary[video_index]
        f_score = evaluate_summary(summary, np.expand_dims(gt_summary, axis=0),
                                   eval_method)
        all_f_scores.append(f_score)

    f_score_epochs.append(np.mean(all_f_scores))
    print("f_score: ", np.mean(all_f_scores))

with open(path + '/f_scores.txt', 'w') as outfile:
    json.dump(f_score_epochs, outfile)