File size: 1,462 Bytes
e4e0a8a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
920e52d
71e1160
 
49d3f03
 
0a2c366
 
 
efb8a0a
d64d8a0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
---
tags:
- LunarLanderContinuous-v2
- reinforce
- reinforcement-learning
- custom-implementation
model-index:
- name: REINFORCE-LunarLanderContinuous-v2
  results:
  - task:
      type: reinforcement-learning
      name: reinforcement-learning
    dataset:
      name: LunarLanderContinuous-v2
      type: LunarLanderContinuous-v2
    metrics:
    - type: mean_reward
      value: 264.10 +/- 37.17
      name: mean_reward
      verified: false
---

# **Reinforce** Agent playing **LunarLanderContinuous-v2**
This is a custom agent. Performance has been measured over 900 episodes.
To try the agent, user needs to import the ParameterisedPolicy class from the Agent_class.py file. </br>
Training progress:
![training](training_graph.jpg)

Numbers on X axis are average over 40 episodes, each lasting for about 500 timesteps on average. So in total the agent was trained over about 5e6 timesteps.
Learning rate decay schedule: <code>torch.optim.lr_scheduler.StepLR(opt, step_size=4000, gamma=0.7)</code>

Minimal code to use the agent:</br>
```
import gym
from agent_class import ParameterisedPolicy

env_name = 'LunarLanderContinuous-v2'
env = gym.make(env_name)
agent = torch.load('best_reinforce_lunar_lander_cont_model_269.402.pt')
render = True

observation = env.reset()
while True:
    if render:
        env.render()
    action = agent.act(observation)
    observation, reward, done, info = env.step(action)
    
    if done:
        break
env.close()
```