ledmands
commited on
Commit
·
6aec4d8
1
Parent(s):
e3b737c
Modified the record_video.py file, still not functional.
Browse files
agents/dqn_v2/record_video.py
CHANGED
|
@@ -1,22 +1,38 @@
|
|
| 1 |
import gymnasium as gym
|
| 2 |
-
from stable_baselines3
|
|
|
|
|
|
|
| 3 |
|
| 4 |
env_id = "ALE/Pacman-v5"
|
| 5 |
-
video_folder = "
|
| 6 |
video_length = 100 #steps
|
| 7 |
|
| 8 |
vec_env = DummyVecEnv([lambda: gym.make(env_id, render_mode="rgb_array")])
|
|
|
|
|
|
|
| 9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
obs = vec_env.reset()
|
| 11 |
|
| 12 |
-
# Record the video starting at the first step
|
| 13 |
-
vec_env = VecVideoRecorder(vec_env, video_folder,
|
| 14 |
-
record_video_trigger=lambda x: x == 0, video_length=video_length,
|
| 15 |
-
name_prefix=f"{env_id}")
|
| 16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
vec_env.reset()
|
|
|
|
| 18 |
for _ in range(video_length + 1):
|
| 19 |
-
action =
|
| 20 |
obs, _, _, _ = vec_env.step(action)
|
| 21 |
-
# Save the video
|
| 22 |
vec_env.close()
|
|
|
|
| 1 |
import gymnasium as gym
|
| 2 |
+
from stable_baselines3 import DQN
|
| 3 |
+
from stable_baselines3.common.monitor import Monitor
|
| 4 |
+
from stable_baselines3.common.vec_env import VecVideoRecorder, DummyVecEnv, VecEnv
|
| 5 |
|
| 6 |
env_id = "ALE/Pacman-v5"
|
| 7 |
+
video_folder = "videos/"
|
| 8 |
video_length = 100 #steps
|
| 9 |
|
| 10 |
vec_env = DummyVecEnv([lambda: gym.make(env_id, render_mode="rgb_array")])
|
| 11 |
+
model = DQN.load("ALE-Pacman-v5")
|
| 12 |
+
# output: <stable_baselines3.common.vec_env.dummy_vec_env.DummyVecEnv object at 0x0000029974DC6550>
|
| 13 |
|
| 14 |
+
# vec_env = gym.make(env_id, render_mode="rgb_array")
|
| 15 |
+
# output <OrderEnforcing<PassiveEnvChecker<AtariEnv<ALE/Pacman-v5>>>>
|
| 16 |
+
|
| 17 |
+
# vec_env = Monitor(gym.make(env_id, render_mode="rgb_array"))
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
# print(vec_env)
|
| 21 |
obs = vec_env.reset()
|
| 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
|
| 24 |
+
# Record the video starting at the first step
|
| 25 |
+
vec_env = VecVideoRecorder(vec_env,
|
| 26 |
+
video_folder,
|
| 27 |
+
record_video_trigger=lambda x: x == 0,
|
| 28 |
+
video_length=video_length,
|
| 29 |
+
name_prefix=f"video-{env_id}")
|
| 30 |
+
# Once I make the environment, now I need to walk through it...???
|
| 31 |
+
# I want to act according to the policy that has been trained
|
| 32 |
vec_env.reset()
|
| 33 |
+
print(vec_env)
|
| 34 |
for _ in range(video_length + 1):
|
| 35 |
+
action, states = model.predict(obs)
|
| 36 |
obs, _, _, _ = vec_env.step(action)
|
| 37 |
+
# # Save the video
|
| 38 |
vec_env.close()
|