Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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]