Spaces:
Sleeping
Sleeping
| import argparse | |
| import pickle | |
| import threading | |
| import time | |
| import os | |
| import sys | |
| from filelock import FileLock | |
| from runner.playground_runner import PlaygroundPipelineRunner | |
| argparser = argparse.ArgumentParser(description='Run the game') | |
| argparser.add_argument('--game', type=str, default='RaceGame', help='Game to play') | |
| argparser.add_argument('--level', type=int, default=1, help='Level to play') | |
| argparser.add_argument('--action_file', type=str, default='', help='File to store actions') | |
| argparser.add_argument('--game_id', type=str, default='', help='Game id') | |
| argparser.add_argument('--params_file', type=str, default='', help='File to store parameters') | |
| args = argparser.parse_args() | |
| game = args.game | |
| level = args.level | |
| action_file = args.action_file | |
| game_id = args.game_id | |
| output_dir = os.path.join(".", "runs", game_id) | |
| params_file = args.params_file | |
| print(f"Starting game: {game} at level {level}") | |
| print(f"Action file: {action_file}") | |
| print(f"Game id: {game_id}") | |
| params = None | |
| if params_file != "": | |
| try: | |
| params = pickle.load(open(params_file, "rb")) | |
| print(f"Loaded params from file: {params}") | |
| except Exception as e: | |
| print(f"Params : {e}") | |
| stop_event = threading.Event() | |
| stop_event.clear() | |
| runner = PlaygroundPipelineRunner( | |
| game=game, | |
| level=level, | |
| history_steps=3, | |
| action_file=action_file, | |
| game_id=game_id, | |
| stop_event=stop_event, | |
| params=params, | |
| ) | |
| runner.run() | |
| stop_event.set() | |
| run_lock = FileLock(os.path.join(".", "runs", "run.lock")) | |
| with run_lock: | |
| os.system(f"rm -rf {output_dir}") |