# serialize model to JSON model_save = model.to_json() with open("save/NNmodel1.json", "w") as json_file: json_file.write(model_save) print("Saved model to disk!") # Finally, we configure and compile our agent. You can use every built-in Keras optimizer and # even the metrics! memory = SequentialMemory(limit=10000, window_length=1) #policy1 = BoltzmannQPolicy() policy1 = EpsDisGreedyQPolicy(eps=0.0001, eps_decay=0.999) policy2 = BoltzmannQPolicy() callback1 = FileLogger(filepath='save/nhistory1_{}'.format(timenow), interval=1) callback2 = FileLogger(filepath='save/nhistory2_{}'.format(timenow), interval=1) callback3 = FileLogger(filepath='save/nhistory3_{}'.format(timenow), interval=1) callback4 = FileLogger(filepath='save/nhistory4_{}'.format(timenow), interval=1) #dqn1 = DQNAgent(model=model, nb_actions=nb_actions, memory=memory, batch_size=64, nb_steps_warmup=2000, # target_model_update=1e-2, policy=policy2) #dqn1.compile(Adam(lr=1e-3), metrics=['mae']) #dqn1.fit(env, nb_steps=300000, visualize=False, callbacks=[callback1], verbose=2) #dqn2 = DQNAgent(model=model, nb_actions=nb_actions, memory=memory, batch_size=64, gamma=0.5, nb_steps_warmup=2000, # target_model_update=1e-2, policy=policy2) #dqn2.compile(Adam(lr=1e-3), metrics=['mae']) #dqn2.fit(env, nb_steps=300000, visualize=False, callbacks=[callback2], verbose=2)
x = Dense(24)(x) x = Activation('relu')(x) x = Dense(1)(x) x = Activation('linear')(x) critic = Model(inputs=[action_input, observation_input], outputs=x) print(critic.summary()) model_actor = actor.to_json() with open("save/Actor.json", "w") as json_file: json_file.write(model_actor) model_critic = critic.to_json() with open("save/Critic.json", "w") as json_file: json_file.write(model_critic) print("Saved model to disk!") callback1 = FileLogger(filepath='save/history1_{}'.format(timenow), interval=1) #callback2 = FileLogger(filepath='save/history2_{}'.format(timenow), interval=1) #callback3 = FileLogger(filepath='save/history3_{}'.format(timenow), interval=1) #callback4 = FileLogger(filepath='save/history4_{}'.format(timenow), interval=1) memory = SequentialMemory(limit=50000, window_length=1) random_process = OrnsteinUhlenbeckProcess(size=nb_actions, theta=.15, mu=0., sigma=.3) agent = DDPGAgent(nb_actions=nb_actions, actor=actor, critic=critic, critic_action_input=action_input, memory=memory, nb_steps_warmup_critic=1000,