def test_replay_position(self): sgf_positions = list(sgf_wrapper.replay_sgf(NO_HANDICAP_SGF)) initial = sgf_positions[0] self.assertEqual(initial.result, go.WHITE) final = sgf_positions[-1].position.play_move( sgf_positions[-1].next_move) # sanity check to ensure we're working with the right position final_board = test_utils.load_board(''' .OXX..... O.OX.X... .OOX..... OOOOXXXXX XOXXOXOOO XOOXOO.O. XOXXXOOXO XXX.XOXXO X..XOO.O. ''') expected_final_position = go.Position(final_board, n=62, komi=6.5, caps=(3, 2), ko=None, recent=tuple(), to_play=go.BLACK) self.assertEqualPositions(expected_final_position, final) self.assertEqual(final.n, len(final.recent)) replayed_positions = list(go.replay_position(final)) for sgf_pos, replay_pos in zip(sgf_positions, replayed_positions): self.assertEqualPositions(sgf_pos.position, replay_pos.position)
def extract_data(self): assert len(self.searches_pi) == self.root.position.n assert self.result != 0 for pwc, pi in zip( go.replay_position(self.board_size, self.root.position, self.result), self.searches_pi): yield pwc.position, pi, pwc.result
def test_replay_position(self): sgf_positions = list(sgf_wrapper.replay_sgf(NO_HANDICAP_SGF)) initial = sgf_positions[0] self.assertEqual(initial.result, go.WHITE) final = sgf_positions[-1].position.play_move( sgf_positions[-1].next_move) # sanity check to ensure we're working with the right position final_board = test_utils.load_board(''' .OXX..... O.OX.X... .OOX..... OOOOXXXXX XOXXOXOOO XOOXOO.O. XOXXXOOXO XXX.XOXXO X..XOO.O. ''') expected_final_position = go.Position( final_board, n=62, komi=6.5, caps=(3, 2), ko=None, recent=tuple(), to_play=go.BLACK ) self.assertEqualPositions(expected_final_position, final) self.assertEqual(final.n, len(final.recent)) replayed_positions = list(go.replay_position(final, 1)) for sgf_pos, replay_pos in zip(sgf_positions, replayed_positions): self.assertEqualPositions(sgf_pos.position, replay_pos.position)
def extract_data(self, return_features=False): assert len(self.searches_pi) == self.root.position.n assert self.result != 0 positions, pis, values = [], [], [] for pwc, pi in zip(go.replay_position(self.root.position, self.result), self.searches_pi): if return_features: positions.append(extract_features(pwc.position)) else: positions.append(pwc.position) pis.append(pi) values.append(pwc.result) return positions, pis, values
def extract_data(self): assert len(self.searches_pi) == self.root.position.n assert self.result != 0 for pwc, pi in zip(go.replay_position(self.root.position, self.result), self.searches_pi): yield pwc.position, pi, pwc.result
def extract_data(self): assert len(self.searches_pi) == self.root.position.n for pwc, pi in zip(go.replay_position(self.root.position), self.searches_pi): yield pwc.position, pi, pwc.result