The PTAN library
The library is available in GitHub: https://github.com/Shmuma/ptan. All the subsequent examples were implemented using version 0.6 of PTAN, which can be installed in your virtual environment by running the following:
pip install ptan==0.6
The original goal of PTAN was to simplify my RL experiments, and it tries to keep the balance between two extremes:
- Import the library and then write one line with tons of parameters to train one of the provided methods, like DQN (a very vivid example is the OpenAI Baselines project)
- Implement everything from scratch
The first approach is very inflexible. It works well when you are using the library the way it is supposed to be used. But if you want to do something fancy, you will quickly find yourself hacking the library and fighting with the constraints that I imposed, rather than solving the problem you want to solve.
The second extreme gives too much freedom and requires implementing replay buffers...