當前位置: 首頁>>代碼示例>>Python>>正文


Python utils.parse_game_result方法代碼示例

本文整理匯總了Python中utils.parse_game_result方法的典型用法代碼示例。如果您正苦於以下問題:Python utils.parse_game_result方法的具體用法?Python utils.parse_game_result怎麽用?Python utils.parse_game_result使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在utils的用法示例。


在下文中一共展示了utils.parse_game_result方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: parse_sgf

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def parse_sgf(sgf_path):
  with open(sgf_path) as f:
    sgf_contents = f.read()

  collection = sgf.parse(sgf_contents)
  game = collection.children[0]
  props = game.root.properties
  assert int(sgf_prop(props.get('GM', ['1']))) == 1, "Not a Go SGF!"

  result = utils.parse_game_result(sgf_prop(props.get('RE')))

  positions, moves = zip(*[(p.position, p.next_move) for p in sgf_wrapper.replay_sgf(sgf_contents)])
  return positions, moves, result, props 
開發者ID:mlperf,項目名稱:training_results_v0.5,代碼行數:15,代碼來源:training_curve.py

示例2: test_parse_game_result

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def test_parse_game_result(self):
        self.assertEqual(utils.parse_game_result('B+3.5'), go.BLACK)
        self.assertEqual(utils.parse_game_result('W+T'), go.WHITE)
        self.assertEqual(utils.parse_game_result('Void'), 0) 
開發者ID:mlperf,項目名稱:training_results_v0.5,代碼行數:6,代碼來源:test_utils.py

示例3: replay_sgf

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def replay_sgf(sgf_contents):
    '''
    Wrapper for sgf files, returning go.PositionWithContext instances.

    It does NOT return the very final position, as there is no follow up.
    To get the final position, call pwc.position.play_move(pwc.next_move)
    on the last PositionWithContext returned.

    Example usage:
    with open(filename) as f:
        for position_w_context in replay_sgf(f.read()):
            print(position_w_context.position)
    '''
    collection = sgf.parse(sgf_contents)
    game = collection.children[0]
    props = game.root.properties
    assert int(sgf_prop(props.get('GM', ['1']))) == 1, "Not a Go SGF!"

    komi = 0
    if props.get('KM') != None:
        komi = float(sgf_prop(props.get('KM')))
    result = utils.parse_game_result(sgf_prop(props.get('RE')))
    assert result is not None

    pos = Position(komi=komi)
    current_node = game.root
    while pos is not None and current_node.next is not None:
        pos = handle_node(pos, current_node)
        maybe_correct_next(pos, current_node.next)
        next_move = get_next_move(current_node)
        yield PositionWithContext(pos, next_move, result)
        current_node = current_node.next 
開發者ID:mlperf,項目名稱:training_results_v0.5,代碼行數:34,代碼來源:sgf_wrapper.py

示例4: test_parse_game_result

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def test_parse_game_result(self):
        self.assertEqual(utils.parse_game_result('B+3.5'), go.BLACK)
        self.assertEqual(utils.parse_game_result('W+T'), go.WHITE)
        self.assertEqual(utils.parse_game_result('Void'), None) 
開發者ID:llSourcell,項目名稱:alphago_demo,代碼行數:6,代碼來源:test_utils.py

示例5: get_winrate

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def get_winrate(final_positions):
    black_win = [utils.parse_game_result(pos.result()) == go.BLACK
                 for pos in final_positions]
    return sum(black_win) / len(black_win) 
開發者ID:llSourcell,項目名稱:alphago_demo,代碼行數:6,代碼來源:selfplay.py

示例6: extract_moves

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def extract_moves(final_positions):
    winning_moves = []
    losing_moves = []
    for final_position in final_positions:
        positions_w_context = utils.take_n(
            strategies.POLICY_CUTOFF_DEPTH,
            sgf_wrapper.replay_position(final_position))
        winner = utils.parse_game_result(final_position.result())
        for pwc in positions_w_context:
            if pwc.position.to_play == winner:
                winning_moves.append(pwc)
            else:
                losing_moves.append(pwc)
    return (load_data_sets.DataSet.from_positions_w_context(winning_moves),
            load_data_sets.DataSet.from_positions_w_context(losing_moves)) 
開發者ID:llSourcell,項目名稱:alphago_demo,代碼行數:17,代碼來源:selfplay.py

示例7: test_parse_game_result

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def test_parse_game_result(self):
    self.assertEqual(utils.parse_game_result('B+3.5'), go.BLACK)
    self.assertEqual(utils.parse_game_result('W+T'), go.WHITE)
    self.assertEqual(utils.parse_game_result('Void'), 0) 
開發者ID:itsamitgoel,項目名稱:Gun-Detector,代碼行數:6,代碼來源:utils_test.py

示例8: replay_sgf

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def replay_sgf(board_size, sgf_contents):
  """Wrapper for sgf files.

  It does NOT return the very final position, as there is no follow up.
  To get the final position, call pwc.position.play_move(pwc.next_move)
  on the last PositionWithContext returned.
  Example usage:
  with open(filename) as f:
    for position_w_context in replay_sgf(f.read()):
      print(position_w_context.position)

  Args:
    board_size: the go board size.
    sgf_contents: the content in sgf.

  Yields:
    The go.PositionWithContext instances.
  """
  collection = sgf.parse(sgf_contents)
  game = collection.children[0]
  props = game.root.properties
  assert int(sgf_prop(props.get('GM', ['1']))) == 1, 'Not a Go SGF!'

  komi = 0
  if props.get('KM') is not None:
    komi = float(sgf_prop(props.get('KM')))
  result = utils.parse_game_result(sgf_prop(props.get('RE')))

  pos = Position(board_size, komi=komi)
  current_node = game.root
  while pos is not None and current_node.next is not None:
    pos = handle_node(board_size, pos, current_node)
    maybe_correct_next(pos, current_node.next)
    next_move = get_next_move(current_node)
    yield PositionWithContext(pos, next_move, result)
    current_node = current_node.next 
開發者ID:itsamitgoel,項目名稱:Gun-Detector,代碼行數:38,代碼來源:sgf_wrapper.py

示例9: extract_game_data

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def extract_game_data(gcs_path, root_node):
    props = root_node.properties
    komi = float(sgf_wrapper.sgf_prop(props.get('KM')))
    result = sgf_wrapper.sgf_prop(props.get('RE', ''))
    board_size = int(sgf_wrapper.sgf_prop(props.get('SZ')))
    value = utils.parse_game_result(result)
    was_resign = '+R' in result

    filename = os.path.basename(gcs_path)
    filename_no_ext, _ = os.path.splitext(filename)
    # BigQuery's TIMESTAMP() takes in unix millis.
    completion_millis = 1000 * int(filename_no_ext.split('-')[0])
    worker_id = filename_no_ext.split('-')[-1]
    model_num = shipname.detect_model_num(props.get('PW')[0])
    sgf_url = gcs_path
    first_comment_node_lines = root_node.next.properties['C'][0].split('\n')
    # in-place edit to comment node so that first move's comment looks
    # the same as all the other moves.
    root_node.next.properties['C'][0] = '\n'.join(first_comment_node_lines[1:])
    resign_threshold = float(first_comment_node_lines[0].split()[-1])

    return {
        'worker_id': worker_id,
        'completed_time': completion_millis,
        'board_size': board_size,
        'model_num': model_num,
        'result_str': result,
        'value': value,
        'was_resign': was_resign,
        'sgf_url': sgf_url,
        'resign_threshold': resign_threshold,
    } 
開發者ID:mlperf,項目名稱:training,代碼行數:34,代碼來源:prepare_bigquery.py

示例10: test_parse_game_result

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def test_parse_game_result(self):
        self.assertEqual(go.BLACK, utils.parse_game_result('B+3.5'))
        self.assertEqual(go.WHITE, utils.parse_game_result('W+T'))
        self.assertEqual(0, utils.parse_game_result('Void')) 
開發者ID:mlperf,項目名稱:training,代碼行數:6,代碼來源:test_utils.py

示例11: replay_sgf

# 需要導入模塊: import utils [as 別名]
# 或者: from utils import parse_game_result [as 別名]
def replay_sgf(sgf_contents):
    """Wrapper for sgf files, returning go.PositionWithContext instances.

    It does NOT return the very final position, as there is no follow up.
    To get the final position, call pwc.position.play_move(pwc.next_move)
    on the last PositionWithContext returned.

    Example usage:
    with open(filename) as f:
        for position_w_context in replay_sgf(f.read()):
            print(position_w_context.position)
    """
    root_node = get_sgf_root_node(sgf_contents)
    props = root_node.properties
    assert int(sgf_prop(props.get('GM', ['1']))) == 1, "Not a Go SGF!"

    komi = 0
    if props.get('KM') is not None:
        komi = float(sgf_prop(props.get('KM')))
    result = utils.parse_game_result(sgf_prop(props.get('RE', '')))

    pos = Position(komi=komi)
    current_node = root_node
    while pos is not None and current_node.next is not None:
        pos = handle_node(pos, current_node)
        maybe_correct_next(pos, current_node.next)
        next_move = get_next_move(current_node)
        yield PositionWithContext(pos, next_move, result)
        current_node = current_node.next 
開發者ID:mlperf,項目名稱:training,代碼行數:31,代碼來源:sgf_wrapper.py


注:本文中的utils.parse_game_result方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。