Commit Graph

24 Commits

Author SHA1 Message Date
Marek Wolan
3d0e50823a Merge branch 'dev' into feature/1623-typehints 2023-07-18 10:03:48 +01:00
Chris McCarthy
81295a4fc4 #1631 - Updated the copyright statement to comply with DEFCON 703 Edition 08/13 2023-07-17 19:57:34 +01:00
Czar Echavez
7c2ff55da2 #1595: added loading sessions to run command + test + documentation for how to use loading sessions 2023-07-14 15:51:38 +01:00
Marek Wolan
c2931bde6c Added type hints 2023-07-14 12:01:38 +01:00
Marek Wolan
f4b98542b6 Standardise docstring summary line placement. 2023-07-07 10:28:00 +01:00
Chris McCarthy
27ca53878a #917 - Fixed the RLlib integration
- Dropped support for overriding the num_episodes and num_steps at the agent level. It's just not needed and will add complexity when overriding and writing output files.
2023-06-30 16:52:57 +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
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
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
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
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
Chris McCarthy
605737cd5f #915 - Annotated logs func in cli.py to take -n.
- Fixed entry point on main.py
- Commented out the print reward line in step func of primaite_env.py.
- Added jupyterlab==3.6.1 to pyproject.toml
2023-06-09 16:44:49 +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
Marek Wolan
bfd19280d5 Merge remote-tracking branch 'origin/dev' into bugfix/1441-main-py-minor-bugs 2023-06-06 15:50:35 +01:00
Marek Wolan
2724838cf8 Setup testing scripts 2023-05-30 13:14:43 +01:00
Marek Wolan
8a24427bf7 Fix minor logic errors in main script 2023-05-26 14:50:15 +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
ddb6adae2b #902 - replaced 'final_node_<placeholder>' with 'reference_node_<placeholder>' in methods for scoring of os_state, file_system_state, service state and operating state. This fixed the reward function so it is checked at each step for node operating system state, operating state, file system state and service state.
- Added unit tests.
2023-05-25 14:05:53 +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