mirror of
https://github.com/wassname/Deep-reinforcement-learning-with-pytorch.git
synced 2026-09-20 12:20:08 +08:00
Create run_this.py
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
from maze_env import Maze
|
||||
from RL_brain import DeepQNetwork
|
||||
|
||||
|
||||
def run_maze():
|
||||
step = 0
|
||||
for episode in range(300):
|
||||
# initial observation
|
||||
observation = env.reset()
|
||||
|
||||
while True:
|
||||
# fresh env
|
||||
env.render()
|
||||
|
||||
# RL choose action based on observation
|
||||
action = RL.choose_action(observation)
|
||||
|
||||
# RL take action and get next observation and reward
|
||||
observation_, reward, done = env.step(action)
|
||||
|
||||
RL.store_transition(observation, action, reward, observation_)
|
||||
|
||||
if (step > 200) and (step % 5 == 0):
|
||||
RL.learn()
|
||||
|
||||
# swap observation
|
||||
observation = observation_
|
||||
|
||||
# break while loop when end of this episode
|
||||
if done:
|
||||
break
|
||||
step += 1
|
||||
|
||||
# end of game
|
||||
print('game over')
|
||||
env.destroy()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# maze game
|
||||
env = Maze()
|
||||
RL = DeepQNetwork(env.n_actions, env.n_features,
|
||||
learning_rate=0.01,
|
||||
reward_decay=0.9,
|
||||
e_greedy=0.9,
|
||||
replace_target_iter=200,
|
||||
memory_size=2000,
|
||||
# output_graph=True
|
||||
)
|
||||
env.after(100, run_maze)
|
||||
env.mainloop()
|
||||
RL.plot_cost()
|
||||
Reference in New Issue
Block a user