Tianshou/AlphaGo/player.py

38 lines
1.3 KiB
Python

import argparse
import time
import sys
import Pyro4
from game import Game
from engine import GTPEngine
@Pyro4.expose
class Player(object):
def __init__(self, **kwargs):
self.role = kwargs['role']
self.engine = kwargs['engine']
def run_cmd(self, command):
#return "inside the Player of player.py"
return self.engine.run_cmd(command)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("--checkpoint_path", type=str, default="./checkpoints/")
parser.add_argument("--role", type=str, default="unknown")
args = parser.parse_args()
game = Game(checkpoint_path=args.checkpoint_path)
engine = GTPEngine(game_obj=game, name='tianshou', version=0)
daemon = Pyro4.Daemon() # make a Pyro daemon
ns = Pyro4.locateNS() # find the name server
player = Player(role = args.role, engine = engine)
print "Init " + args.role + " player finished"
uri = daemon.register(player) # register the greeting maker as a Pyro object
print "Start on name " + args.role
ns.register(args.role, uri) # register the object with a name in the name server
print "Start Request Loop " + str(uri)
daemon.requestLoop() # start the event loop of the server to wait for calls