From 149278d2c6f5fc63e3ce8c6988d98ac0eb244338 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Tue, 28 Nov 2023 20:59:48 +0000 Subject: [PATCH] Commit latest version before changing to amd gpu --- rlgym training/.vscode/launch.json | 16 +++++ rlgym training/bot/src/agent.py | 2 +- rlgym training/bot/src/bot.py | 8 ++- rlgym training/requirements.txt | 96 ++++++---------------------- rlgym training/rlgym-ppo-training.py | 8 ++- 5 files changed, 47 insertions(+), 83 deletions(-) create mode 100644 rlgym training/.vscode/launch.json diff --git a/rlgym training/.vscode/launch.json b/rlgym training/.vscode/launch.json new file mode 100644 index 0000000..2b2502c --- /dev/null +++ b/rlgym training/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Current File", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "justMyCode": false + } + ] +} \ No newline at end of file diff --git a/rlgym training/bot/src/agent.py b/rlgym training/bot/src/agent.py index 285d7ec..50ba8f2 100644 --- a/rlgym training/bot/src/agent.py +++ b/rlgym training/bot/src/agent.py @@ -72,6 +72,6 @@ class Agent: def act(self, obs): action, logprob = self.policy.get_action(obs, deterministic=False) - action = self.actor.eval(obs) + # action = self.policy.eval(obs) # action, _ = self.model.predict(obs) return action.tolist() diff --git a/rlgym training/bot/src/bot.py b/rlgym training/bot/src/bot.py index ba14ce2..e558b8b 100644 --- a/rlgym training/bot/src/bot.py +++ b/rlgym training/bot/src/bot.py @@ -9,7 +9,9 @@ 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 ContinuousAction + +# from rlgym.utils.action_parsers import ContinuousAction +from rlgym_tools.extra_action_parsers.lookup_act import LookupAction from rlgym_tools.extra_obs.advanced_padder import AdvancedObsPadder @@ -20,9 +22,9 @@ class Sarpy(BaseAgent): # FIXME Hey, botmaker. Start here: # Swap the obs builder if you are using a different one, RLGym's AdvancedObs is also available - self.obs_builder = AdvancedObsPadder(team_size=3) + self.obs_builder = AdvancedObsPadder(team_size=1) # Swap the action parser if you are using a different one, RLGym's Discrete and Continuous are also available - self.act_parser = ContinuousAction() + self.act_parser = LookupAction() # 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 diff --git a/rlgym training/requirements.txt b/rlgym training/requirements.txt index 3489cd8..aa6b3f8 100644 --- a/rlgym training/requirements.txt +++ b/rlgym training/requirements.txt @@ -1,90 +1,34 @@ -appdirs==1.4.4 -attrs==23.1.0 -bottle==0.12.25 -bottle-websocket==0.2.9 -certifi==2022.12.7 -cffi==1.16.0 -charset-normalizer==2.1.1 -click==8.1.7 +absl-py==2.0.0 +cachetools==5.3.1 +certifi==2023.7.22 +charset-normalizer==3.3.0 cloudpickle==3.0.0 -colorama==0.4.6 comtypes==1.2.0 -dataclasses==0.6 -docker-pycreds==0.4.0 -docopt==0.6.2 -Eel==0.16.0 -exceptiongroup==1.1.3 -filelock==3.9.0 -flatbuffers==1.12 -fsspec==2023.4.0 -future==0.18.3 -gevent==23.9.1 -gevent-websocket==0.10.1 -gitdb==4.0.11 -GitPython==3.1.40 -greenlet==3.0.0 +google-auth==2.23.3 +google-auth-oauthlib==1.0.0 +grpcio==1.59.0 gym==0.26.2 gym-notices==0.0.8 -h11==0.14.0 idna==3.4 importlib-metadata==6.8.0 -inputs==0.5 -Jinja2==3.1.2 -llvmlite==0.38.1 -MarkupSafe==2.1.2 -mpmath==1.3.0 -networkx==3.0 -numba==0.55.1 -numpy==1.21.6 -outcome==1.3.0 -packaging==23.2 -pathtools==0.1.2 -Pillow==9.3.0 +Markdown==3.5 +MarkupSafe==2.1.3 +numpy==1.26.1 +oauthlib==3.2.2 protobuf==4.24.4 psutil==5.9.6 -pycparser==2.21 -pyparsing==3.1.1 -PyQt5==5.15.10 -PyQt5-Qt5==5.15.2 -PyQt5-sip==12.13.0 -PySocks==1.7.1 -python-dotenv==1.0.0 +pyasn1==0.5.0 +pyasn1-modules==0.3.0 pywin32==228 pywinauto==0.6.8 -PyYAML==6.0.1 -requests==2.28.1 -requirements-parser==0.5.0 -rlbot==1.67.7 -rlbot-gui==0.0.154 +requests==2.31.0 +requests-oauthlib==1.3.1 rlgym==1.2.2 -rlgym-compat==1.1.0 -rlgym-ppo==1.2.5 -rlgym-sim==1.2.5 rlgym-tools==1.8.2 -RLUtilities==0.0.13 -RocketSim==1.2.0 -scipy==1.11.3 -selenium==4.14.0 -sentry-sdk==1.32.0 -setproctitle==1.3.3 +rsa==4.9 six==1.16.0 -smmap==5.0.1 -sniffio==1.3.0 -sortedcontainers==2.4.0 -sympy==1.12 -torch==2.1.0+cu118 -torchaudio==2.1.0+cu118 -torchvision==0.16.0+cu118 -trio==0.22.2 -trio-websocket==0.11.1 -types-setuptools==68.2.0.0 -typing-extensions==4.8.0 -urllib3==1.26.13 -wandb==0.15.12 -webdriver-manager==4.0.1 -websockets==12.0 -whichcraft==0.6.1 -wsproto==1.2.0 +tensorboard==2.14.1 +tensorboard-data-server==0.7.1 +urllib3==2.0.6 +werkzeug==3.0.0 zipp==3.17.0 -zope.event==5.0 -zope.interface==6.1 diff --git a/rlgym training/rlgym-ppo-training.py b/rlgym training/rlgym-ppo-training.py index 5aa4885..ea7ffde 100644 --- a/rlgym training/rlgym-ppo-training.py +++ b/rlgym training/rlgym-ppo-training.py @@ -42,7 +42,9 @@ def build_rocketsim_env(): GoalScoredCondition, ) from rlgym_sim.utils import common_values - from rlgym_sim.utils.action_parsers import ContinuousAction + + # from rlgym_sim.utils.action_parsers import ContinuousAction + from rlgym_tools.extra_action_parsers.lookup_act import LookupAction from rlgym_tools.extra_obs.advanced_padder import AdvancedObsPadder spawn_opponents = True @@ -52,7 +54,7 @@ def build_rocketsim_env(): timeout_seconds = 10 timeout_ticks = int(round(timeout_seconds * game_tick_rate / tick_skip)) - action_parser = ContinuousAction() + action_parser = LookupAction() terminal_conditions = [ NoTouchTimeoutCondition(timeout_ticks), GoalScoredCondition(), @@ -177,7 +179,7 @@ if __name__ == "__main__": if checkpoint_load_folder != "" else {} ), - timestep_limit=1_000_000_000, + timestep_limit=100_000_000_000, log_to_wandb=True, n_checkpoints_to_keep=10_000, )