Commit Graph

82 Commits

Author SHA1 Message Date
Czar Echavez
3e691b4f46 #1522: remove numpy randomisation + added random red agent config 2023-06-30 10:37:23 +01:00
Chris McCarthy
d5402cdce8 #917 - Added tensorflow to main deps for RLlib.
- Dropped support for Python 3.11 due to not supported on Ray RLlib.
- Made release pipeline only run once as we're now no longer using pure path wheels.
2023-06-30 10:24:59 +01:00
Chris McCarthy
73015802ec #917 - Integrated the PrimaiteSession into all tests.
- Ran a full pre-commit hook and thus encountered tons of fixes required
2023-06-30 09:08:13 +01:00
Chris McCarthy
7f912df383 #917 - Began the process of reloading existing agents into the session 2023-06-28 19:54:00 +01:00
Chris McCarthy
1d3778f400 #917 - Overhauled transaction and mean reward writing.
- Separated out learning outputs from evaluation outputs
2023-06-28 16:34:00 +01:00
Chris McCarthy
7482192046 #917 - Synced with dev and added better logging 2023-06-28 12:01:01 +01:00
Marek Wolan
9666b92caa Attempt to add flat spaces 2023-06-28 11:07:45 +01:00
Chris McCarthy
498e6a7ac1 Merge remote-tracking branch 'origin/dev' into feature/917_Integrate_with_RLLib
# Conflicts:
#	src/primaite/config/training_config.py
#	src/primaite/main.py
2023-06-28 10:11:03 +01:00
Marek Wolan
be7d0e1745 Cosmetic changes to satisfy pre-commit 2023-06-27 13:06:10 +01:00
Czar Echavez
fb50b8becf #1386: Apply suggestions from code review - make seed an optional variable 2023-06-23 07:57:31 +00:00
Brian Kanyora
e0f3d61f65 feature\1522:
Create random red agent behaviour.
2023-06-22 15:34:13 +01:00
Chris McCarthy
7f1c4ce036 #917 - Updated main config 2023-06-22 14:10:38 +01:00
Chris McCarthy
a2cc4233b5 #917 -Finished integrating all agents to either train (policy agents) or evaluate (hard-coded agents). Still some fixing up to do, tidying up, loading etc. also docs. But this is all now working. 2023-06-20 16:06:55 +01:00
SunilSamra
df42a791c9 901 - changed ACL instantiation and changed acl t private _acl (list not dict) attribute, added laydown_ACL.yaml for testing, fixed encoding of acl rules to integers for obs space, added ACL position to node action space and added generic test where agents adds two ACL rules. 2023-06-20 11:47:20 +01:00
Czar Echavez
db67a829d5 #1386: added documentation + dealing with pre-commit checks 2023-06-20 11:19:05 +01:00
Czar Echavez
0ab4520904 #1386: added the ability to set deterministic and seeding RNG when training and evaluating + the fix provided in #1535 2023-06-20 10:41:30 +01:00
Chris McCarthy
03ae4884e0 #917 - Almost there. All output files being writen for SB3/RLLIB PPO & A2C. Just need to bring in the hardcoded agents then update the testa and docs. 2023-06-19 21:53:25 +01:00
Chris McCarthy
23bafde457 #917 - Integrated both SB3 and RLlib agents into PrimaiteSession 2023-06-19 20:27:08 +01:00
Chris McCarthy
c2c396052f #917 - Got RLlib fully training in PrimAITE. Started integrating the the other agents into the Session class 2023-06-18 22:40:56 +01:00
SunilSamra
c6a947fbaf 901 - started testing for observation space 2023-06-13 16:23:32 +01:00
SunilSamra
5b59642695 901 - added max_acl_rules, implicit_acl_rule and apply_implicit rule to main_config, changed observations.py for ACLs to match the action space for ACLs, added position of acl rule to ACL action type 2023-06-13 14:51:55 +01:00
SunilSamra
cf64990cff 901 - added changes back to ticket 2023-06-13 09:45:45 +01:00
Chris McCarthy
eb3368edd6 temp commit 2023-06-13 09:42:54 +01:00
Chris McCarthy
785409e12a Synced with dev 2023-06-12 16:59:31 +01:00
Chris McCarthy
f5e195604f #915 - Synced with dev 2023-06-09 15:49:48 +01:00
Chris McCarthy
af4e71db9b #915 - Synced with dev to bring in changes from #898 2023-06-09 13:11:14 +01:00
Chris McCarthy
de86c85b23 #915 - Refactored documentation and included APi docs, dependencies.
- make files now re-build autosummary and deps file.
- Added typer and platformdirs to deps in pyproject.toml.
- Made root_is_pure = True in setup.py as platform/python specific wheels don't need to be built but the option is there should we need to.
-
Added an e2e test for primaite.main.run func.
2023-06-08 15:57:38 +01:00
Chris McCarthy
273876873e #915 - Created app dirs and set as constants in the top-level init.
- renamed _config_values_main to training_config.py and renamed the ConfigValuesMain class to TrainingConfig.
Moved training_config.py to src/primaite/config/training_config.py
- Renamed all training config yaml file keys to make creating an instance of TrainingConfig easier.
Moved action_type and num_steps over to the training config.
- Decoupled the training config and lay down config.
- Refactored main.py so that it can be ran from CLI and can take a training config path and a lay down config path.
- refactored all outputs so that they save to the session dir.
- Added some necessary setup scripts that handle creating app dirs, fronting example config files to the user, fronting demo notebooks to the user, performing clean-up in between installations etc.
- Added functions that attempt to retrieve the file path of users example config files that have been fronted by the primaite setup.
- Added logging config and a getLogger function in the top-level init.
- Refactored all logs entries logged to use a logger using the primaite logging config.
- Added basic typer CLI for doing things like setup, viewing logs, viewing primaite version, running a basic session.
- Updated test to use new features and config structures.
- Began updating docs. More to do here.
2023-06-07 22:40:16 +01:00
Chris McCarthy
6245ad9298 #1355 - Carried out full renaming in node.py, active_node.py, passive_node.py, and service_node.py to make params and variable names explicit.
- Made the same renaming in the yaml laydown config files.
- Added Type hints wherever I've been.
- Added a custom NodeType in custom_typing.py to encompass the Union of ActiveNode, PassiveNode, ServiceNode.
2023-05-25 21:03:11 +01:00
Chris McCarthy
71f33ed44e Ran pre-commit hook on all files and performed changes to fix flake8 failures 2023-05-25 11:42:19 +01:00
Chris McCarthy
18f89faf03 Package restructuring and renaming for 1.2.0 2023-05-25 10:52:29 +01:00
Chris McCarthy
9bd7aade43 Package restructuring 2023-05-25 10:31:37 +01:00