Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/edbeeching/ego_map

EgoMap: Projective mapping and structured egocentric memory for Deep RL
https://github.com/edbeeching/ego_map

Last synced: 3 months ago
JSON representation

EgoMap: Projective mapping and structured egocentric memory for Deep RL

Awesome Lists containing this project

README

        

# EgoMap: Projective mapping and structured egocentric memory for Deep RL
[Project Page](https://edbeeching.github.io/papers/egomap)

Code base for paper [EgoMap: Projective mapping and structured egocentric memory for Deep RL](https://arxiv.org/abs/2002.02286) (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](https://github.com/edbeeching/3d_control_deep_rl), 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}}
```