thien1892 commited on
Commit
d6e7bb2
1 Parent(s): 026cee9

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +64 -4
README.md CHANGED
@@ -25,13 +25,73 @@ model-index:
25
  This is a trained model of a **PPO** agent playing **LunarLander-v2**
26
  using the [stable-baselines3 library](https://github.com/DLR-RM/stable-baselines3).
27
 
28
- ## Usage (with Stable-baselines3)
29
  TODO: Add your code
30
 
31
 
32
  ```python
33
- from stable_baselines3 import ...
34
- from huggingface_sb3 import load_from_hub
 
 
 
 
 
 
35
 
36
- ...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  This is a trained model of a **PPO** agent playing **LunarLander-v2**
26
  using the [stable-baselines3 library](https://github.com/DLR-RM/stable-baselines3).
27
 
28
+ ## Re-train model (with Stable-baselines3)
29
  TODO: Add your code
30
 
31
 
32
  ```python
33
+ # Load a saved LunarLander model from the Hub and retrain
34
+ import gym
35
+ from huggingface_sb3 import load_from_hub, package_to_hub, push_to_hub
36
+ from huggingface_hub import notebook_login # To log to our Hugging Face account to be able to upload models to the Hub.
37
+ from stable_baselines3 import PPO
38
+ from stable_baselines3.common.evaluation import evaluate_policy
39
+ from stable_baselines3.common.env_util import make_vec_env
40
+ from stable_baselines3.common.vec_env import DummyVecEnv
41
 
42
+ repo_id = "thien1892/LunarLander-v2-ppo-v5"
43
+ filename = "ppo-LunarLander-v2.zip" # The model filename.zip
44
+ checkpoint = load_from_hub(repo_id, filename)
45
+
46
+ myenv = make_vec_env('LunarLander-v2', n_envs=16)
47
+ custom_objects = {
48
+ "learning_rate": 1e-5,
49
+ "clip_range": lambda _: 0.15,
50
+ }
51
+ model = PPO.load(checkpoint, reset_num_timesteps=True, print_system_info=True,custom_objects = custom_objects, env = myenv)
52
+
53
+ # Train it for 1,000,000 timesteps
54
+ model.learn(total_timesteps=1000000)
55
+ # Save the model
56
+ model_name = "ppo-LunarLander-v2-5m"
57
+ model.save(model_name)
58
+
59
+ # Evaluate
60
+ eval_env = gym.make("LunarLander-v2")
61
+ mean_reward, std_reward = evaluate_policy(model, eval_env, n_eval_episodes=10, deterministic=True)
62
+ print(f"mean_reward={mean_reward:.2f} +/- {std_reward}")
63
+ ```
64
+
65
+ ## Pust to HF hub
66
+
67
+ ```python
68
+ notebook_login()
69
+ !git config --global credential.helper store
70
  ```
71
+
72
+ ```
73
+ ## repo_id is the id of the model repository from the Hugging Face Hub (repo_id = {organization}/{repo_name} for instance ThomasSimonini/ppo-LunarLander-v2
74
+ repo_id = "thien1892/LunarLander-v2-ppo-5m"
75
+
76
+ # TODO: Define the name of the environment
77
+ env_id = "LunarLander-v2"
78
+
79
+ # Create the evaluation env
80
+ eval_env = DummyVecEnv([lambda: gym.make(env_id)])
81
+
82
+
83
+ # TODO: Define the model architecture we used
84
+ model_architecture = "PPO"
85
+
86
+ ## TODO: Define the commit message
87
+ commit_message = "Upload PPO LunarLander-v2 trained agent"
88
+
89
+ # method save, evaluate, generate a model card and record a replay video of your agent before pushing the repo to the hub
90
+ package_to_hub(model=model, # Our trained model
91
+ model_name=model_name, # The name of our trained model
92
+ model_architecture=model_architecture, # The model architecture we used: in our case PPO
93
+ env_id=env_id, # Name of the environment
94
+ eval_env=eval_env, # Evaluation Environment
95
+ repo_id=repo_id, # id of the model repository from the Hugging Face Hub (repo_id = {organization}/{repo_name} for instance ThomasSimonini/ppo-LunarLander-v2
96
+ commit_message=commit_message)
97
+ ```