Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
2430f99
Wall observations in python
DennisSoemers Nov 14, 2023
23a598d
Update README.md
DennisSoemers Nov 14, 2023
6bfb91c
also updated botenv
DennisSoemers Nov 27, 2023
ee80ffe
init variable map sizes PPO
DennisSoemers Nov 29, 2023
a8d2c76
Merge branch 'wall-observations' into multi-map-size-training
DennisSoemers Nov 29, 2023
737250f
init variable map sizes PPO
DennisSoemers Nov 29, 2023
da86e48
fully conv+pooling ppo, not hardcoded to 16x16 maps
DennisSoemers Nov 29, 2023
bcf1528
updated java
DennisSoemers Dec 1, 2023
b02fe6f
reshaping obs tensors for map sizes
DennisSoemers Dec 8, 2023
a1e73f7
Merge remote-tracking branch 'origin/wall-observations' into wall-obs…
DennisSoemers Dec 11, 2023
76dada7
update java repo
DennisSoemers Dec 11, 2023
393415e
Update README.md
DennisSoemers Dec 12, 2023
b0cd077
no more external stat-files submodule
DennisSoemers Dec 12, 2023
b4588bc
updated baseline agent and league files
DennisSoemers Dec 12, 2023
747305c
turned e2e test back on
DennisSoemers Dec 12, 2023
6e3ffe5
updated java repo
DennisSoemers Dec 12, 2023
e6672c5
now the default model type is not large
DennisSoemers Dec 12, 2023
85c446d
updated java repo
DennisSoemers Dec 12, 2023
ae4106c
merge
DennisSoemers Dec 13, 2023
476a819
padding for masks
DennisSoemers Dec 13, 2023
acf1a7e
gitignore these tmp files
DennisSoemers Dec 13, 2023
af5edf0
no more down/upsampling things that are problematic with certain map …
DennisSoemers Dec 18, 2023
6c2e25b
merge from master
DennisSoemers Dec 19, 2023
43be327
java repo update
DennisSoemers Dec 19, 2023
d933a48
updated java repo
DennisSoemers Dec 19, 2023
f603f3a
updated java repo
DennisSoemers Dec 19, 2023
4ca88ca
fix for action mask padding on variable map sizes
DennisSoemers Dec 19, 2023
d188cbe
more padding fixes
DennisSoemers Dec 19, 2023
172e57f
updated java repo
DennisSoemers Dec 20, 2023
c0506c8
removed guidedRojoA3N from league because it's crashing
DennisSoemers Dec 21, 2023
d9fcba0
updated Java repo
DennisSoemers Dec 21, 2023
875111a
updated java repo
DennisSoemers Dec 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions experiments/gym-microrts-static-files/league.csv
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
name,mu,sigma,trueskill
coacAI,37.01208300442514,1.2057837814702337,33.39473166001444
workerRushAI,32.177999126535994,1.0158657259647073,29.13040194864187
droplet,32.046013299709365,1.0151344815092278,29.000609855181683
mixedBot,31.485630788984253,1.0538188458547628,28.324174251419965
izanagi,30.251048792700562,1.048141521227313,27.10662422901862
tiamat,27.8300726697548,1.0437640107384225,24.69878063753953
lightRushAI,26.430335172946624,1.0158591694179326,23.382757664692825
rojo,25.174781972400247,1.0053993662036687,22.15858387378924
guidedRojoA3N,23.137975074471896,0.9950992581462096,20.152677300033268
naiveMCTSAI,20.932758765019557,0.9990214832647916,17.93569431522518
randomBiasedAI,16.41033348962392,1.1908998345256558,12.837633986046953
passiveAI,6.315587903310498,2.2292417057662304,-0.3721372139881929
randomAI,5.9383357094823985,2.1599970738074847,-0.5416555119400552
name,mu,sigma,trueskill
coacAI,36.923289688405525,1.34088485677891,32.90063511806879
workerRushAI,36.03709563706682,1.1589384846214408,32.560280183202494
droplet,31.704029704725823,0.9728982037858849,28.785335093368168
izanagi,32.137680892518816,1.1176715403719928,28.784666271402838
mixedBot,30.10138243037574,1.0998952344279804,26.801696727091798
tiamat,29.000843603866457,0.9989029800417669,26.004134663741155
rojo,25.51046196801082,1.0193126068509855,22.452524147457865
lightRushAI,25.200606816904337,1.1366932359941933,21.790527108921758
naiveMCTSAI,23.1505040452353,1.12121816264434,19.786849557302283
randomBiasedAI,11.418337600522493,1.4736936614311595,6.997256616229015
randomAI,6.2504777818057065,1.836776105751937,0.740149464549896
passiveAI,5.875968222282016,1.9933271395347394,-0.10401319632220218
Binary file modified experiments/gym-microrts-static-files/league.db
Binary file not shown.
1 change: 1 addition & 0 deletions experiments/gym-microrts-static-files/tmp/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.db
8 changes: 5 additions & 3 deletions experiments/league.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ def parse_args():
help='the highest sigma of the trueskill evaluation')
parser.add_argument('--output-path', type=str, default=f"league.temp.csv",
help='the output path of the leaderboard csv')
parser.add_argument('--model-type', type=str, default=f"ppo_gridnet_large", choices=["ppo_gridnet_large", "ppo_gridnet"],
parser.add_argument('--model-type', type=str, default=f"ppo_gridnet", choices=["ppo_gridnet_large", "ppo_gridnet_variable_mapsizes", "ppo_gridnet"],
help='the output path of the leaderboard csv')
parser.add_argument('--maps', nargs='+', default=["maps/16x16/basesWorkers16x16A.xml"],
help="the maps to do trueskill evaluations")
Expand Down Expand Up @@ -86,6 +86,10 @@ def parse_args():
if args.model_type == "ppo_gridnet_large":
from ppo_gridnet_large import Agent, MicroRTSStatsRecorder

from gym_microrts.envs.vec_env import MicroRTSBotVecEnv, MicroRTSGridModeVecEnv
elif args.model_type == "ppo_gridnet_variable_mapsizes":
from ppo_gridnet_variable_mapsizes import Agent, MicroRTSStatsRecorder

from gym_microrts.envs.vec_env import MicroRTSBotVecEnv, MicroRTSGridModeVecEnv
else:
from ppo_gridnet import Agent, MicroRTSStatsRecorder
Expand Down Expand Up @@ -231,7 +235,6 @@ def run(self, num_matches=7):

def run_m0(self, num_matches):
results = []
16 * 16
next_obs = torch.Tensor(self.envs.reset()).to(self.device)
while True:
# self.envs.render()
Expand All @@ -256,7 +259,6 @@ def run_m0(self, num_matches):

def run_m1(self, num_matches):
results = []
16 * 16
next_obs = torch.Tensor(self.envs.reset()).to(self.device)
while True:
# self.envs.render()
Expand Down
6 changes: 3 additions & 3 deletions experiments/ppo_gridnet.py
Original file line number Diff line number Diff line change
Expand Up @@ -356,17 +356,17 @@ def on_evaluation_done(self, future):

eval_executor = ThreadPoolExecutor(max_workers=args.max_eval_workers, thread_name_prefix="league-eval-")

agent = Agent(envs).to(device)
mapsize = envs.height * envs.width
agent = Agent(envs, mapsize=mapsize).to(device)
optimizer = optim.Adam(agent.parameters(), lr=args.learning_rate, eps=1e-5)
if args.anneal_lr:
# https://github.com/openai/baselines/blob/ea25b9e8b234e6ee1bca43083f8f3cf974143998/baselines/ppo2/defaults.py#L20
lr = lambda f: f * args.learning_rate

# ALGO Logic: Storage for epoch data
mapsize = 16 * 16

action_space_shape = (mapsize, len(envs.action_plane_space.nvec))
invalid_action_shape = (mapsize, envs.action_plane_space.nvec.sum())

obs = torch.zeros((args.num_steps, args.num_envs) + envs.observation_space.shape).to(device)
actions = torch.zeros((args.num_steps, args.num_envs) + action_space_shape).to(device)
logprobs = torch.zeros((args.num_steps, args.num_envs)).to(device)
Expand Down
Loading