I think I did not understand what is the difference between DQN and DDQN in implementation. I understand that we change the traget network during the running of DDQN but I do not understand how it is done in this code.
We put the self.target_model.set_weights(self.model.get_weights())
In implementation of DDQN and this is added when action is finished for DQN https://github.com/keon/deep-q-learning
self.target_model.set_weights(self.model.get_weights())
is added to DQN in order to change the DQN to DDQN! But this happens when we are going out from running by break! There for there is no difference between them!
What is wrong in my mind? (Maybe the difference will be at test? Is this code for train and the test is done with setting the exploration rate=0 and then run this for just one episode with new weight we found? Is it right?
Therefore, what is difference between the presented DQN and DDQN of this link.