TensorFlow implementation of ideas in the DeepMind paper "Learning to Navigate in Complex Environments". The baseline architecture is GPU-based A3C from the paper "Reinforcement Learning through Asynchronous Advantage Actor-Critic on a GPU". Full report.
- TensorFlow 1.0
- DeepMind Lab
- Python plugins - numpy, cv2, pygame
Dowload and install DeepMind Lab
$ git clone https://github.com/deepmind/lab.git
Build it following the build instructions
Clone repo inside the lab directory
$ cd lab
$ git clone https://github.com/tgangwani/GA3C-DeepNavigation.git
Add the bazel instructions at the end of lab/BUILD file
py_binary(
name = "GA3C-DeepNavigation_train",
srcs = ["GA3C-DeepNavigation/GA3C.py"],
data = [":deepmind_lab.so"],
main = "GA3C-DeepNavigation/GA3C.py",
)
Then run bazel command to run the agent
bazel run :GA3C-DeepNavigation_train --define headless=osmesa
Use PLAY_MODE=False
in Config.py for training.
Setting PLAY_MODE=True
loads model parameters from a
checkpoint and runs a single agent. A display is expected.
The neural net architecture is the same as in the paper, but for the loop-prediction loss.