Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/edbeeching/ego_map
- Owner: edbeeching
- License: mit
- Created: 2020-06-19T07:50:58.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T01:53:02.000Z (about 2 years ago)
- Last Synced: 2024-10-11T11:10:11.461Z (4 months ago)
- Language: Python
- Homepage: https://edbeeching.github.io/papers/egomap
- Size: 23 MB
- Stars: 6
- Watchers: 3
- Forks: 2
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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_item5set $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}}
```