Example #1
0
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)