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 chapter
Chapter07/lib/common.py: Common functions used in this chapter's examples, but too specialized to be moved to PTAN
Chapter07/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 ...