Skip to content

Commit 830c324

Browse files
committed
ai5
1 parent b7929bf commit 830c324

File tree

13 files changed

+210
-66
lines changed

13 files changed

+210
-66
lines changed

data/log/training.log

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,3 +637,80 @@ INFO:root:Model saved as LilachV4-1.zip for episode 1 with 240000 steps at 2024-
637637
INFO:root:Loaded existing model.
638638
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 240000 steps at 2024-10-14 23:19:41
639639
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 240000 steps at 2024-10-15 22:49:12
640+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-15 23:11:39
641+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-15 23:21:07
642+
INFO:root:Loaded existing model.
643+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-15 23:31:26
644+
INFO:root:Loaded existing model.
645+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-15 23:40:48
646+
INFO:root:Loaded existing model.
647+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 1000000 steps at 2024-10-16 00:35:39
648+
INFO:root:Model saved as LilachV4-2.zip for episode 2 with 1000000 steps at 2024-10-16 01:01:07
649+
INFO:root:Model saved as LilachV4-3.zip for episode 3 with 1000000 steps at 2024-10-16 01:26:34
650+
INFO:root:Model saved as LilachV4-4.zip for episode 4 with 1000000 steps at 2024-10-16 01:51:48
651+
INFO:root:Model saved as LilachV4-5.zip for episode 5 with 1000000 steps at 2024-10-16 02:17:10
652+
INFO:root:Model saved as LilachV4-6.zip for episode 6 with 1000000 steps at 2024-10-16 02:42:36
653+
INFO:root:Model saved as LilachV4-7.zip for episode 7 with 1000000 steps at 2024-10-16 03:08:05
654+
INFO:root:Model saved as LilachV4-8.zip for episode 8 with 1000000 steps at 2024-10-16 03:33:34
655+
INFO:root:Model saved as LilachV4-9.zip for episode 9 with 1000000 steps at 2024-10-16 03:58:54
656+
INFO:root:Model saved as LilachV4-10.zip for episode 10 with 1000000 steps at 2024-10-16 04:24:25
657+
INFO:root:Model saved as LilachV4-11.zip for episode 11 with 1000000 steps at 2024-10-16 04:49:50
658+
INFO:root:Model saved as LilachV4-12.zip for episode 12 with 1000000 steps at 2024-10-16 05:15:14
659+
INFO:root:Model saved as LilachV4-13.zip for episode 13 with 1000000 steps at 2024-10-16 05:40:31
660+
INFO:root:Model saved as LilachV4-14.zip for episode 14 with 1000000 steps at 2024-10-16 06:05:50
661+
INFO:root:Model saved as LilachV4-15.zip for episode 15 with 1000000 steps at 2024-10-16 06:31:12
662+
INFO:root:Loaded existing model.
663+
INFO:root:Model saved as LilachV4-30.zip for episode 1 with 1000000 steps at 2024-10-16 07:21:39
664+
INFO:root:Model saved as LilachV4-30.zip for episode 1 with 100000 steps at 2024-10-16 12:11:37
665+
INFO:root:Model saved as LilachV4-30.zip for episode 1 with 100000 steps at 2024-10-16 12:25:52
666+
INFO:root:Model saved as LilachV4-30.zip for episode 1 with 80000 steps at 2024-10-16 12:32:14
667+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 80000 steps at 2024-10-16 12:50:59
668+
INFO:root:Loaded existing model.
669+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 13:10:41
670+
INFO:root:Loaded existing model.
671+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-16 13:30:51
672+
INFO:root:Loaded existing model.
673+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-16 13:42:04
674+
INFO:root:Loaded existing model.
675+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-16 13:50:36
676+
INFO:root:Loaded existing model.
677+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-16 18:57:15
678+
INFO:root:Loaded existing model.
679+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 19:06:49
680+
INFO:root:Loaded existing model.
681+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 19:17:57
682+
INFO:root:Loaded existing model.
683+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 19:24:30
684+
INFO:root:Loaded existing model.
685+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 19:32:12
686+
INFO:root:Loaded existing model.
687+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 19:42:03
688+
INFO:root:Loaded existing model.
689+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 20:00:37
690+
INFO:root:Loaded existing model.
691+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 20:27:10
692+
INFO:root:Loaded existing model.
693+
INFO:root:Loaded existing model.
694+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 20:50:53
695+
INFO:root:Loaded existing model.
696+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 21:20:49
697+
INFO:root:Loaded existing model.
698+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-16 21:51:04
699+
INFO:root:Model saved as LilachV4-A2C-1.zip for episode 1 with 200000 steps at 2024-10-16 22:22:10
700+
INFO:root:Loaded existing model.
701+
INFO:root:Loaded existing model.
702+
INFO:root:Loaded existing model.
703+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 12:31:03
704+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 12:51:27
705+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-17 13:05:08
706+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-17 20:44:09
707+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 100000 steps at 2024-10-17 20:52:00
708+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 21:01:14
709+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 21:08:34
710+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 21:22:14
711+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 21:33:04
712+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 21:42:32
713+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 20000 steps at 2024-10-17 21:50:15
714+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 22:18:36
715+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 22:31:08
716+
INFO:root:Model saved as LilachV4-1.zip for episode 1 with 200000 steps at 2024-10-17 22:40:44

data/model/Best-2.zip

41.2 KB
Binary file not shown.

data/model/Best.zip

3.19 KB
Binary file not shown.

data/model/LilachV4-A2C-1.zip

105 KB
Binary file not shown.

src/Test.py

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,42 @@
66

77
env = LilachV2()
88

9-
model_path = r'data\model\Best1.zip'
9+
def print_hyperparameters(model):
10+
print("==== PPO Hyperparameters ====")
11+
print("Learning Rate:", model.learning_rate)
12+
print("Gamma (Discount Factor):", model.gamma)
13+
print("Number of Environments:", model.n_envs)
14+
print("Entropy Coefficient:", model.ent_coef)
15+
print("Clip Range:", model.clip_range)
16+
print("GAE Lambda:", model.gae_lambda)
17+
print("Number of Epochs:", model.n_epochs)
18+
print("Max Gradient Norm:", model.max_grad_norm)
19+
print("Number of Steps per Rollout:", model.n_steps)
20+
print("Batch Size:", model.batch_size)
21+
print("Policy Architecture (Hidden Layers):", model.policy_kwargs)
22+
print("Device (CPU or GPU):", model.device)
23+
print("=============================")
24+
25+
model_path = r'data\model\LilachV4-1.zip'
1026
if os.path.isfile(model_path):
11-
model = PPO.load(model_path, env=env, device="cuda")
27+
model = PPO.load(model_path, env = env, verbose=1, device="cuda",
28+
learning_rate = 0.0001,
29+
batch_size=256,
30+
n_steps=4096,
31+
clip_range=0.05,
32+
ent_coef=0.001,
33+
gae_lambda=0.99,
34+
n_epochs=30,
35+
max_grad_norm=0.1,
36+
policy_kwargs = dict(net_arch=[128, 64, 32])
37+
)
1238
print("Loaded existing model.")
1339
else:
14-
model = PPO("MlpPolicy", env, verbose=1, device="cuda", gamma=0.5)
40+
model = PPO("MlpPolicy", env, verbose=1, device="cuda")
1541
print("Loaded new model.")
1642

43+
44+
print_hyperparameters(model)
1745
"""model = PPO(
1846
'MlpPolicy',
1947
env,
@@ -47,7 +75,7 @@
4775
type = "H"
4876
elif (type == "H"):
4977
type = "A"
50-
else:
78+
else:
5179
type = "A"
5280

5381

@@ -57,9 +85,7 @@
5785

5886
#log_data(log_path, obs, action, reward, info)
5987

60-
if info["Distance"] > 1500:
61-
env.reset()
6288
if done:
6389
obs, info = env.reset()
6490

65-
clock.tick(60)
91+
clock.tick(60)

src/TrainingFieldParallel.py

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
from stable_baselines3 import PPO
2+
from stable_baselines3 import PPO, A2C
33
import logging
44
import torch
55
from stable_baselines3.common.vec_env import SubprocVecEnv
@@ -21,35 +21,70 @@ def _init():
2121
return LilachV2()
2222
return _init
2323

24+
def print_hyperparameters(model):
25+
print("==== PPO Hyperparameters ====")
26+
print("Learning Rate:", model.learning_rate)
27+
print("Gamma (Discount Factor):", model.gamma)
28+
print("Number of Environments:", model.n_envs)
29+
print("Entropy Coefficient:", model.ent_coef)
30+
print("Clip Range:", model.clip_range)
31+
print("GAE Lambda:", model.gae_lambda)
32+
print("Number of Epochs:", model.n_epochs)
33+
print("Max Gradient Norm:", model.max_grad_norm)
34+
print("Number of Steps per Rollout:", model.n_steps)
35+
print("Batch Size:", model.batch_size)
36+
print("Policy Architecture (Hidden Layers):", model.policy_kwargs)
37+
print("Device (CPU or GPU):", model.device)
38+
print("=============================")
2439

2540
if __name__ == '__main__':
2641
n_agents = 20
2742
env = SubprocVecEnv([make_env() for _ in range(n_agents)])
2843

2944
model_path = r'data\model\LilachV4-1.zip'
3045
if os.path.isfile(model_path):
31-
model = PPO.load(model_path, env=env, device="cuda", n_steps=3072, learning_rate = 0.001, batch_size=128, ent_coef=0.001)
32-
logging.info("Loaded existing model.")
33-
print("Loaded existing model.")
46+
model = PPO.load(model_path, env = env, verbose=1, device="cuda",
47+
learning_rate = 0.0001,
48+
batch_size=256,
49+
n_steps=4096,
50+
clip_range=0.05,
51+
ent_coef=0.001,
52+
gae_lambda=0.99,
53+
n_epochs=30,
54+
max_grad_norm=0.1,
55+
policy_kwargs = dict(net_arch=[64, 32, 16])
56+
)
3457
else:
35-
model = PPO("MlpPolicy", env, verbose=1, device="cuda", n_steps=3072, learning_rate = 0.001, batch_size=128, ent_coef=0.001)
58+
model = PPO("MlpPolicy", env=env, verbose=1, device="cuda",
59+
learning_rate = 0.0001,
60+
batch_size=256,
61+
n_steps=4096,
62+
clip_range=0.05,
63+
ent_coef=0.001,
64+
gae_lambda=0.99,
65+
n_epochs=30,
66+
max_grad_norm=0.1,
67+
policy_kwargs = dict(net_arch=[64, 32, 16])
68+
)
3669
print("Loaded new model.")
3770
env.reset()
3871

39-
"""model = PPO(
40-
'MlpPolicy',
72+
print_hyperparameters(model)
73+
74+
"""
75+
model = PPO
76+
('MlpPolicy',
4177
env,
42-
learning_rate=0.001,
78+
learning_rate=0.00,
4379
ent_coef=0.01,
4480
gamma=0.99,
4581
gae_lambda=0.95,
4682
n_epochs=10,
4783
batch_size=64,
4884
clip_range=0.2,
4985
max_grad_norm=0.5,
50-
verbose=1
51-
)"""
52-
total_timesteps_per_episode = 100000 # Set timesteps per episode as needed
86+
verbose=1)"""
87+
total_timesteps_per_episode = 200000 # Set timesteps per episode as needed
5388
num_episodes = 1
5489

5590
for episode in range(num_episodes):
0 Bytes
Binary file not shown.
852 Bytes
Binary file not shown.
-5 Bytes
Binary file not shown.
26 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)