File size: 2,329 Bytes
0b57ee7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0ab441a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0b57ee7
0ab441a
 
0b57ee7
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
---
library_name: stable-baselines3
tags:
- SpaceInvadersNoFrameskip-v4
- deep-reinforcement-learning
- reinforcement-learning
- stable-baselines3
model-index:
- name: DQN
  results:
  - metrics:
    - type: mean_reward
      value: 581.50 +/- 104.72
      name: mean_reward
    task:
      type: reinforcement-learning
      name: reinforcement-learning
    dataset:
      name: SpaceInvadersNoFrameskip-v4
      type: SpaceInvadersNoFrameskip-v4
---

# **DQN** Agent playing **SpaceInvadersNoFrameskip-v4**
This is a trained model of a **DQN** agent playing **SpaceInvadersNoFrameskip-v4**
using the [stable-baselines3 library](https://github.com/DLR-RM/stable-baselines3).

## Usage (with Stable-baselines3)

```python
 from stable_baselines3.common.env_util import make_atari_env
from stable_baselines3.common.vec_env import VecFrameStack
from stable_baselines3 import DQN
from stable_baselines3.common.evaluation import evaluate_policy
from huggingface_sb3 import load_from_hub, package_to_hub
from stable_baselines3.common.utils import set_random_seed

env_id = "SpaceInvadersNoFrameskip-v4"

env = make_atari_env(env_id,
                     n_envs=12,
                     # Improving reproducibility
                     seed=1)
env = VecFrameStack(env, n_stack=4)  # Stack last four images

# Improving reproducibility
set_random_seed(42)

# Using these parameters as default: https://huggingface.co/micheljperez/dqn-SpaceInvadersNoFrameskip-v4
model = DQN(policy = "CnnPolicy",
            env = env,
            batch_size = 32,
            buffer_size = 100_000,
            exploration_final_eps = 0.01,
            exploration_fraction = 0.025,
            gradient_steps = 1,
            learning_rate = 1e-4,
            learning_starts = 100_000,
            optimize_memory_usage = True,
            replay_buffer_kwargs = {"handle_timeout_termination": False},
            target_update_interval = 1000,
            train_freq = 4,
            # normalize = False,
            tensorboard_log = "./tensorboard",
            verbose=1
           )
           
f = load_from_hub('masterdezign/dqn2-SpaceInvadersNoFrameskip-v4', 'dqn-SpaceInvadersNoFrameskip-v4.zip')
model = model.load(f)

mean_reward, std_reward = evaluate_policy(model, env)
print(f"Mean reward = {mean_reward:.2f} +/- {std_reward:.2f}")
```