The PTAN library
This library is available on GitHub: https://github.com/Shmuma/ptan. All the subsequent examples were implemented using version 0.8 of PTAN, which can be installed in your virtual environment by running the following:
$ pip install ptan==0.8
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 just a couple of lines with tons of parameters to train one of the provided methods, like DQN (a very vivid example is the OpenAI Baselines and Stable Baselines3 projects). This 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 it imposes, rather than solving the problem you want to solve.
-
Implement all the method’s logic...