This project implement some reinforcement learning algorithms, including DQN, Double DQN, C51, etc. It contains subset of algorithms from dopamine. It's for self study.
- python == 3.6, other version may work as well.
- tensorflow >= 1.6.0
- retro, video game emulator for RL.
- ffmpeg (optional), for record video.
Using C51, After training 48 hour on my GTX 960M.
# train the model
python train.py
# record actions
# python eval.py --record_dir <path to store record file>
python eval.py --record_dir record
# make video. Need to have ffmpeg in the path.
# python -m retro.scripts.playback_movie <record file>...
python -m retro.scripts.playback_movie .\record\Breakout-Atari2600-Start-000000.bk2
- Using a memory pool with 100 million elements will consume about 7 GB memory.
- C51 has faster convergence speed.
- Implement store and restore for memory pool.
- Add more algorithms.
- dopamine, a research framework for fast prototyping of reinforcement learning algorithms.
- baseline, OpenAI Baselines: high-quality implementations of reinforcement learning algorithms.
- DQN-tensorflow, Tensorflow implementation of Human-Level Control through Deep Reinforcement Learning.