Views
No views yet
1
2import gymnasium as gym
3from google.colab import drive
4from huggingface_sb3 import load_from_hub, package_to_hub
5from huggingface_hub import (
6 notebook_login,
7)
8
9from stable_baselines3 import PPO
10from stable_baselines3.common.env_util import make_vec_env
11from stable_baselines3.common.evaluation import evaluate_policy
12from stable_baselines3.common.monitor import Monitor
13
14env = gym.make("LunarLander-v3")
15env.reset()
16print("_____OBSERVATION SPACE_____ \n")
17print("Observation Space Shape", env.observation_space.shape)
18print("Sample observation", env.observation_space.sample())
19
20print("\n _____ACTION SPACE_____ \n")
21print("Action Space Shape", env.action_space.n)
22print("Action Space Sample", env.action_space.sample()) # Take a random action
23
24env = make_vec_env("LunarLander-v3", n_envs=16) #staking env for more hindsights
25
26
27model = PPO(
28 policy="MlpPolicy",
29 env=env,
30 n_steps=1024,
31 batch_size=256,
32 n_epochs=10,
33 gamma=0.999,
34 gae_lambda=0.98,
35 ent_coef=0.01,
36 learning_rate=3e-4,
37 verbose=1,
38)
39
40
41drive.mount('/content/drive')
42
43
44#function to save the model to drive
45
46def save_model(model, model_name="ppo_LunarLander"):
47 path = f"/content/drive/MyDrive/{model_name}"
48 model.save(path)
49 print(f" Model saved to {path}")
50 return path
51
52
53model_name = "ppo-LunarLander-v3"
54
55model.learn(total_timesteps=3000000)
56model_name = "ppo_LunarLander-v3"
57
58save_model(model , "ppo_LunarLander")
59
60
61eval_env = Monitor(gym.make("LunarLander-v3"))
62mean_reward , std_reward = evaluate_policy(model , eval_env , n_eval_episodes = 10 , deterministic = True)
63
64
65
66
67#result = mean_reward - std_reward
68
69if mean_reward - std_reward > 200:
70 print("Passed , you can push")
71
72
73package_to_hub(...)
74
75...