def subsample():
    """Sample num_positions postions from each game in sgf_dir

    Usage:
        python3 sharp_positions.py subsample --num_positions 10 --sgf_dir data/s

    NOTE(sethtroisi): see link for a script to truncate SGFs at move number
        https://github.com/sethtroisi/go-scripts
    """

    sgf_files = oneoff_utils.find_and_filter_sgf_files(FLAGS.sgf_dir, None,
                                                       None)

    with open(FLAG.collection, 'w') as collection:
        fails = 0
        for path in tqdm(sorted(sgf_files)):
            try:
                positions, moves, results = oneoff_utils.parse_sgf(path)
            except KeyboardInterrupt:
                raise
            except Exception as e:
                fails += 1
                print("Fail {}, while parsing {}: {}".format(fails, path, e))
                continue

            moves = len(positions)
            indexes = random.sample(range(10, moves), FLAGS.num_positions)
            for index in sorted(indexes):
                collection.write('{}, {}\n'.format(path, index))
def get_final_positions():
    sgf_files = sorted(oneoff_utils.find_and_filter_sgf_files(FLAGS.sgf_dir))

    with multiprocessing.Pool() as pool:
        pos = list(pool.map(oneoff_utils.final_position_sgf, tqdm(sgf_files)))

    assert len(pos) > 0, "BOARD_SIZE != 19?"
    return sgf_files, pos
Example #3
0
def main(unusedargv):
    sgf_files = oneoff_utils.find_and_filter_sgf_files(FLAGS.sgf_dir,
                                                       FLAGS.min_year,
                                                       FLAGS.komi)
    pos_data, move_data, result_data, move_idxs = sample_positions_from_games(
        sgf_files=sgf_files, num_positions=FLAGS.num_positions)
    df = get_training_curve_data(FLAGS.model_dir, pos_data, move_data,
                                 result_data, FLAGS.idx_start,
                                 FLAGS.eval_every)
    save_plots(FLAGS.plot_dir, df)
Example #4
0
def main(unusedargv):
    sgf_files = oneoff_utils.find_and_filter_sgf_files(FLAGS.sgf_dir)
    eval_positions = positions_from_sgfs(sgf_files)

    eval_for_policy(
        eval_positions,
        FLAGS.model_dir,
        FLAGS.data_dir,
        FLAGS.idx_start,
        FLAGS.eval_every)
Example #5
0
def main(unusedargv):
    sgf_files = oneoff_utils.find_and_filter_sgf_files(FLAGS.sgf_dir)
    eval_positions = positions_from_sgfs(sgf_files)

    eval_pv(eval_positions)