dqn = DQNAgent(model=model, nb_actions=nb_actions, memory=memory, nb_steps_warmup=100, enable_double_dqn=True, enable_dueling_network=False, dueling_type='avg', target_model_update=1e-2, policy=policy, vary_eps=True, strategy='linear', anneal_steps=anneal_steps) dqn.compile(Adam(lr=1e-3), metrics=['mae']) # Okay, now it's time to learn something! We visualize the training here for show, but this # slows down training quite a lot. You can always safely abort the training prematurely using # Ctrl + C. dqn.fit(env, nb_steps=training_steps, visualize=False, verbose=2, nb_max_episode_steps=MAX_STEP) # After training is done, we save the final weights. # dqn.save_weights('TrainedModels/duel_dqn_{}_weights.h5f'.format(ENV_NAME), overwrite=True) dqn.save_model("TrainedModels/", "DQNmodel_" + now.strftime("%Y%m%d-%H%M") + "_ep") # Finally, evaluate our algorithm for 5 episodes. dqn.test(env, nb_episodes=5, visualize=False)