Basic DQN
By combining all the above, we can reimplement the same DQN agent in a much shorter, but still flexible, way, which will become handy later, when we'll start to modify and change various DQN parts to make the DQN better.
In the basic DQN implementation we have three modules:
Chapter07/lib/dqn_model.py
: The DQN neural network, which is the same as we've seen in the previous chapterChapter07/lib/common.py
: Common functions used in this chapter's examples, but too specialized to be moved to PTANChapter07/01_dqn_basic.py
: The creation of all used pieces and the training loop
Let's start with the contents of lib/common.py
. First of all, we have here hyperparameters for our Pong environment, that was introduced in the previous chapter. The hyperparameters are stored in the dict, with keys as the configuration name and values as a dict of parameters. This makes it easy to add another configuration set for more complicated Atari games.
HYPERPARAMS = { 'pong...