Skip to content

EgoMap: Projective mapping and structured egocentric memory for Deep RL

License

Notifications You must be signed in to change notification settings

SJingwen/ego_map

 
 

Repository files navigation

EgoMap: Projective mapping and structured egocentric memory for Deep RL

Project Page

Code base for paper EgoMap: Projective mapping and structured egocentric memory for Deep RL (ECML 2020)

Installation

Instructions to run the code for Baseline, Neural Map and EgoMap for the 4 scenarios:

The code has been testing on linux (ubuntu 16.04 LTS) with python3

Install dependencies detailed in requirements.txt

The scenarios themselves are from this repo, but have been included for convenience.

Scenarios

Possible scenarios/directorys are:

labyrinth:

    labyrinth_maze{:003}.cfg
    resources/scenarios/custom_scenarios/labyrinth13

find return:

    mino_maze{:003}.cfg
    resources/scenarios/custom_scenarios/mino11

4-item:

    four_item_maze{:003}.cfg
    resources/scenarios/custom_scenarios/four_item5

6-item:

    six_item_maze{:003}.cfg
    resources/scenarios/custom_scenarios/six_item5

set $SCENARIO_DIR as your chosen scenario directory and $SCENARIO as the scenario. e.g.

SCENARIO_DIR=resources/scenarios/custom_scenarios/labyrinth13
SCENARIO=labyrinth_maze{:003}.cfg

Training

set your username e.g. NAME=my_name

Baseline recurrent agent

python train_a2c.py --num_steps 128 --log_interval 10 --eval_freq 1000 --model_save_rate 1000 --eval_games 50 --num_frames 300000000 --gamma 0.99 --recurrent_policy --num_stack 1 --norm_obs --scenario_dir  $SCENARIO_DIR/train/ --scenario $SCENARIO --limit_actions --conv1_size 16 --conv2_size 32 --conv3_size 16 --hidden_size 128 --entropy_coef 0.001 --test_scenario_dir  $SCENARIO_DIR/test/ --multimaze --num_mazes_train 256 --num_mazes_test 64 --fixed_scenario --use_pipes --depth_as_obs --user_dir $NAME

Neural Map agent

python train_a2c.py --num_steps 128 --log_interval 10 --eval_freq 1000 --model_save_rate 1000 --eval_games 50 --num_frames 300000000 --gamma 0.99 --recurrent_policy --num_stack 1 --norm_obs --scenario_dir  $SCENARIO_DIR/train/ --scenario $SCENARIO --limit_actions --conv1_size 16 --conv2_size 32 --conv3_size 16 --hidden_size 128 --entropy_coef 0.001 --test_scenario_dir  $SCENARIO_DIR/test/ --multimaze --num_mazes_train 256 --num_mazes_test 64 --fixed_scenario --use_pipes --ego_bin_dim 64 --ego_half_size 32 --ego_skip --reduce_blur --shift_thresh 120 --ego_hidden_size 32 --skip_world_shift --merge_later --ego_query --ego_num_chans 16 --ego_use_tanh --skip_cnn_relu --query_position --ego_query_cosine  --ego_query_scalar --neural_map 0 --nm_gru_op --nm_skip --depth_as_obs --user_dir $NAME

EgoMap agent

python train_a2c.py --num_steps 128 --log_interval 10 --eval_freq 1000 --model_save_rate 1000 --eval_games 50 --num_frames 300000000 --gamma 0.99 --recurrent_policy --num_stack 1 --norm_obs --scenario_dir  $SCENARIO_DIR/train/ --scenario $SCENARIO --limit_actions --conv1_size 16 --conv2_size 32 --conv3_size 16 --hidden_size 128 --entropy_coef 0.001 --test_scenario_dir  $SCENARIO_DIR/test/ --multimaze --num_mazes_train 256 --num_mazes_test 64 --fixed_scenario --use_pipes --ego_model 0 --ego_bin_dim 64 --ego_half_size 12 --ego_skip --reduce_blur --shift_thresh 120 --ego_hidden_size 32 --skip_world_shift --merge_later --ego_query --ego_num_chans 16 --ego_use_tanh --skip_cnn_relu --query_position --ego_query_cosine  --ego_query_scalar --depth_as_obs --user_dir $NAME

Citation

@inproceedings{beeching2020egomap,
  title={EgoMap: Projective mapping and structured egocentric memory for Deep RL},
  author={Beeching, Edward and Dibangoye, Jilles and 
           Simonin, Olivier and Wolf, Christian}
  booktitle={ECMLPKDD},
  year={2020}}

About

EgoMap: Projective mapping and structured egocentric memory for Deep RL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%