def create_single_football_env(iprocess): """Creates gfootball environment.""" env = football_env.create_environment( env_name=FLAGS.level, stacked=('stacked' in FLAGS.state), rewards=FLAGS.reward_experiment, logdir=logger.get_dir(), write_goal_dumps=FLAGS.dump_scores and (iprocess == 0), write_full_episode_dumps=FLAGS.dump_full_episodes and (iprocess == 0), render=FLAGS.render and (iprocess == 0), dump_frequency=50 if FLAGS.render and iprocess == 0 else 0) env = monitor.Monitor(env, logger.get_dir() and os.path.join(logger.get_dir())) return env
def create_single_football_env(seed): """Creates gfootball environment.""" env = football_env.create_environment( env_name=FLAGS.level, stacked=('stacked' in FLAGS.state), with_checkpoints=('with_checkpoints' in FLAGS.reward_experiment), logdir=logger.get_dir(), enable_goal_videos=FLAGS.dump_scores and (seed == 0), enable_full_episode_videos=FLAGS.dump_full_episodes and (seed == 0), render=FLAGS.render and (seed == 0), dump_frequency=50 if FLAGS.render and seed == 0 else 0) env = monitor.Monitor( env, logger.get_dir() and os.path.join(logger.get_dir(), str(seed))) return env
def create_single_football_env(seed, level): """Creates gfootball environment.""" env = football_env.create_environment(env_name=level, stacked=('stacked' in 'extracted_stacked'), rewards='scoring', logdir=logger.get_dir(), enable_goal_videos=False, enable_full_episode_videos=False, render=False, dump_frequency=0) env = monitor.Monitor( env, logger.get_dir() and os.path.join(logger.get_dir(), str(seed))) return env
def create_multiagent_env(iprocess): left_player = 'ppo2_cnn:left_players=1,policy=gfootball_impala_cnn,checkpoint=/Users/stephen/Documents/football/checkpoints/11_vs_11_easy_stochastic_v2' right_player = 'agent:right_players=1,policy=gfootball_impala_cnn,checkpoint=/Users/stephen/Documents/football/checkpoints/11_vs_11_easy_stochastic_v2' players = [left_player, right_player] write_full_episode_dumps = False and (iprocess == 0) write_goal_dumps = False and (iprocess == 0) config_values = { 'dump_full_episodes': write_full_episode_dumps, 'dump_scores': write_goal_dumps, 'players': players, 'level': '11_vs_11_easy_stochastic', 'tracesdir': '', # logdir 'write_video': False } cfg = config.Config(config_values) env = football_env.FootballEnv(cfg) render = False and (iprocess == 0) if render: env.render() dump_frequency = 10 if render and iprocess == 0 else 0 env = wrappers.PeriodicDumpWriter(env, dump_frequency) rewards = 'scoring,checkpoints' # what to base rewards on representation = 'extracted' # ['simple115v2'] what observations model gets channel_dimensions = (observation_preprocessing.SMM_WIDTH, observation_preprocessing.SMM_HEIGHT) apply_single_agent_wrappers = True stacked = True # whether to get last 4 observations stacked or just last 1 env = _apply_output_wrappers(env, rewards, representation, channel_dimensions, apply_single_agent_wrappers, stacked) env = monitor.Monitor( env, logger.get_dir() and os.path.join(logger.get_dir(), str(iprocess))) return env
logger.set_level(logger.INFO) log_dir = os.path.join(os.getcwd(), 'deepdip-results') try: os.makedirs(log_dir) except OSError: files = glob.glob(os.path.join(log_dir, '*.monitor.csv')) \ + glob.glob(os.path.join(log_dir, '*td.csv')) \ + glob.glob(os.path.join(log_dir, '*sig_param_mag.csv')) \ + glob.glob(os.path.join(log_dir, '*action_log.csv')) for f in files: os.remove(f) env_id = args.env_id env = gym.make(env_id) env = monitor.Monitor(env, os.path.join(log_dir, env_id)) model = Model(env=env, config=config, log_dir=log_dir) model.load_w() model.load_replay() print(model.model) frame_idx = 0 episode_reward = 0 reward = 0 done = False def get_player_units(state): player = state[-1] index = state[::4] units = state[3::4]