mirror of
https://github.com/jcreek/Sarpy.git
synced 2026-07-12 18:53:44 +00:00
feat(*): Update bot and training
This commit is contained in:
+2
-1
@@ -9,6 +9,7 @@ from agent import Agent
|
||||
# from obs.default_obs import DefaultObs
|
||||
from rlgym.utils.obs_builders import AdvancedObs
|
||||
from rlgym_compat import GameState
|
||||
from rlgym.utils.action_parsers import DiscreteAction
|
||||
|
||||
|
||||
class Sarpy(BaseAgent):
|
||||
@@ -19,7 +20,7 @@ class Sarpy(BaseAgent):
|
||||
# Swap the obs builder if you are using a different one, RLGym's AdvancedObs is also available
|
||||
self.obs_builder = AdvancedObs()
|
||||
# Swap the action parser if you are using a different one, RLGym's Discrete and Continuous are also available
|
||||
self.act_parser = DefaultAction()
|
||||
self.act_parser = DiscreteAction()
|
||||
# Your neural network logic goes inside the Agent class, go take a look inside src/agent.py
|
||||
self.agent = Agent()
|
||||
# Adjust the tickskip if your agent was trained with a different value
|
||||
|
||||
+5
-1
@@ -54,7 +54,7 @@ if __name__ == "__main__": # Required for multiprocessing
|
||||
fps = 120 / frame_skip
|
||||
gamma = np.exp(np.log(0.5) / (fps * half_life_seconds)) # Quick mafs
|
||||
agents_per_match = 2
|
||||
num_instances = 4
|
||||
num_instances = 10
|
||||
target_steps = 100_000
|
||||
steps = target_steps // (num_instances * agents_per_match)
|
||||
batch_size = steps
|
||||
@@ -109,6 +109,7 @@ if __name__ == "__main__": # Required for multiprocessing
|
||||
env,
|
||||
device="auto", # Need to set device again (if using a specific one)
|
||||
)
|
||||
print("Loaded exit_save.zip model")
|
||||
except:
|
||||
model = PPO(
|
||||
MlpPolicy,
|
||||
@@ -124,6 +125,7 @@ if __name__ == "__main__": # Required for multiprocessing
|
||||
verbose=3, # Print out all the info as we're going
|
||||
device="auto", # Uses GPU if available
|
||||
)
|
||||
print("Created new model")
|
||||
|
||||
# Save model every so often
|
||||
# Divide by num_envs (number of agents) because callback only increments every time all agents have taken a step
|
||||
@@ -136,8 +138,10 @@ if __name__ == "__main__": # Required for multiprocessing
|
||||
|
||||
try:
|
||||
while True:
|
||||
print("Learning...")
|
||||
model.learn(25_000_000, callback=callback)
|
||||
model.save(f"{models_dir}/exit_save")
|
||||
print("Saved exit_save model")
|
||||
model.save(f"mmr_models/{model.num_timesteps}")
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
Reference in New Issue
Block a user