Commit Graph

174 Commits

Author SHA1 Message Date
Marek Wolan
4b5cf12aa3 Merged PR 103: Change build pipeline to enable installing from wheel on windows
## Summary
Just splits the install primaite step into two depending if agent is using windows or not.

## Test process
Ran a build successfully.

## Checklist
- [ ] This PR is linked to a **work item**
- [ ] I have performed **self-review** of the code
- [ ] I have written **tests** for any new functionality added with this PR
- [ ] I have updated the **documentation** if this PR changes or adds functionality
- [ ] I have run **pre-commit** checks for code style
2023-07-03 16:10:09 +00:00
Marek Wolan
7ddedfcc57 Updated azure-ci-build-pipeline.yaml 2023-07-03 16:02:59 +00:00
Marek Wolan
f47dd8bf61 Updated azure-ci-build-pipeline.yaml 2023-07-03 13:36:33 +00:00
Marek Wolan
8101f49a21 Updated azure-ci-build-pipeline.yaml 2023-07-03 12:44:01 +00:00
Marek Wolan
63a4c1119b Updated azure-ci-build-pipeline.yaml 2023-07-03 12:40:02 +00:00
Marek Wolan
94ca28a85f Add windows build option 2023-07-03 12:37:08 +00:00
Chris McCarthy
c3ec33e4df #917 - Added Windows and MacOS to build pipeline. Updated so that runs only Python 3.8 and 3.10 (middle version not required) 2023-07-03 12:03:36 +01:00
Chris McCarthy
123ec8343c Merge remote-tracking branch 'origin/dev' into feature/917_Integrate_with_RLLib
# Conflicts:
#	tests/test_reward.py
2023-07-03 11:59:16 +01:00
Christopher McCarthy
c38c13b829 Apply suggestions from code review 2023-07-03 10:47:26 +00:00
Sunil Samra
4f0f542570 Merged PR 93: 1555 - updated doc-string to make test understanding easier
## Summary
Changed doc-string of test_reward.py to reflect the new test and what it is trying to do rather than the old outdated one.

## Test process
NA - no logic changes

## Checklist
- [X] This PR is linked to a **work item**
- [X] I have performed **self-review** of the code
- [X] I have written **tests** for any new functionality added with this PR
- [X] I have updated the **documentation** if this PR changes or adds functionality
- [X] I have run **pre-commit** checks for code style

1555 - updated doc-string to make test understanding easier

Related work items: #1555, #1556
2023-07-03 08:10:17 +00:00
SunilSamra
ccad245e6f Merge remote-tracking branch 'origin/dev' into feature/1555-update-test-reward-doc-string 2023-07-03 08:10:28 +01:00
Chris McCarthy
16534237e0 #917 - Dropped VerboseLevel in enums.py and changed OutputVerboseLevel to SB3OutputVerboseLevel 2023-06-30 17:09:50 +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
203cc98494 #917 - Fixed primaite_config.yaml issue in cli.py
- Added kaleido to deps in pyproject.toml
2023-06-30 11:40:26 +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
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
02f982afa8 Merged PR 95: Apply precommits and add precommit to build pipeline
## Summary
The code changes are purely cosmetic- the result of applying pre-commit to all our files. I also added a pre-commit step to the build pipeline to reject non-conforming PRs

## Test process
I saw that the build pipeline passes with this new step.

## Checklist
- [ ] This PR is linked to a **work item**
- [x] I have performed **self-review** of the code
- [ ] I have written **tests** for any new functionality added with this PR
- [ ] I have updated the **documentation** if this PR changes or adds functionality
- [x] I have run **pre-commit** checks for code style

Related work items: #1557
2023-06-28 08:14:49 +00:00
SunilSamra
b8a4ede83f 1555 - added specific steps to doc string 2023-06-27 16:59:43 +01:00
SunilSamra
8a1c0b2db7 Merge remote-tracking branch 'origin/dev' into feature/1555-update-test-reward-doc-string 2023-06-27 16:55:00 +01:00
Marek Wolan
cfeb1c6530 Merged PR 94: Fix ier reward calculation
## Summary
Logic error with negation of booleans.

## Test process
Run with debug logging to verify that no longer getting warnings about reference IERS being blocked.

## Checklist
- [x] This PR is linked to a **work item**
- [x] I have performed **self-review** of the code
- [ ] I have written **tests** for any new functionality added with this PR
- [ ] I have updated the **documentation** if this PR changes or adds functionality
- [x] I have run **pre-commit** checks for code style

Fix ier reward calculation

Related work items: #1554
2023-06-27 15:10:19 +00:00
Chris McCarthy
746f878747 Merge remote-tracking branch 'origin/bugfix/1554-fix-not-learning-iers' into feature/917_Integrate_with_RLLib 2023-06-27 15:56:56 +01:00
Marek Wolan
a8c27ec975 Merge branch 'dev' into feature/build-pipeline-precommit 2023-06-27 15:49:49 +01:00
Marek Wolan
cffdcdc0d2 Fix ier reward calculation 2023-06-27 15:27:56 +01:00
SunilSamra
301e8b6983 Merge remote-tracking branch 'origin/dev' into feature/1555-update-test-reward-doc-string 2023-06-27 14:09:36 +01:00
Marek Wolan
cf2f9788ec Add pre-commit 2023-06-27 13:07:54 +00:00
Marek Wolan
3adb02118c Merged PR 92: Fix reference IERs
## Summary
As per the ticket and James's explanation, there are now separate reference IERs which are used for the reference environment.

## Test process
I verified that the training can occur.
![image.png](https://dev.azure.com/ma-dev-uk/b50a61ee-86c4-48bc-9a0b-a67645ba12ee/_apis/git/repositories/2825053e-bd3b-45b2-8680-1281809eefa2/pullRequests/92/attachments/image.png)

## Checklist
- [x] This PR is linked to a **work item**
- [x] I have performed **self-review** of the code
- [n/a] I have written **tests** for any new functionality added with this PR
- [n/a] I have updated the **documentation** if this PR changes or adds functionality
- [x] I have run **pre-commit** checks for code style

Fix reference IERs

Related work items: #1554
2023-06-27 13:07:39 +00:00
Marek Wolan
185dbb7f02 Add pre-commits to build pipeline 2023-06-27 12:07:33 +00:00
Marek Wolan
be7d0e1745 Cosmetic changes to satisfy pre-commit 2023-06-27 13:06:10 +01:00
Marek Wolan
0bff2d2f36 Improve readability 2023-06-27 12:56:15 +01:00
Marek Wolan
79ecb8e0b9 More descriptive debug msg 2023-06-27 12:44:42 +01:00
SunilSamra
09412cb43d 1555 - updated doc-string to make test understanding easier 2023-06-27 12:27:57 +01:00
Marek Wolan
ebc0a28460 rename to prevent confusion 2023-06-27 10:45:45 +00:00
Marek Wolan
e2d6abf833 apply pre-commits 2023-06-27 11:20:18 +01:00
Marek Wolan
feead2cd44 Fix reference IERs 2023-06-27 11:10:21 +01:00
Chris McCarthy
7f1c4ce036 #917 - Updated main config 2023-06-22 14:10:38 +01:00
Chris McCarthy
5a6fdf58d4 #917 - Got things working'ish 2023-06-20 22:29:46 +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
6849939265 #917 - started working on the Agent abstract classes and sub-classes 2023-06-15 09:48:44 +01:00
Chris McCarthy
eb3368edd6 temp commit 2023-06-13 09:42:54 +01:00
Christopher McCarthy
9b0e24c27b Merged PR 81: #915 Packaging & Deployment
## Summary
- 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.
- Made tests log to temp directory
- typer==0.9.0 added to pyproject.toml
- 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.

## Test process
- Added an e2e test for primaite.main.run func.
- Added legacy config file conversion tests
- added

## Checklist
- [X] This PR is linked to a **work item**
- [X] I have performed **self-review** of the code
- [X] I have written **tests** for any new functionality added with this PR
- [X] I have updated the **documentation** if this PR changes or adds functionality
- [X] I have run **pre-commit** checks for code style

Related work items: #915
2023-06-12 18:17:46 +00:00
Chris McCarthy
785409e12a Synced with dev 2023-06-12 16:59:31 +01:00
Chris McCarthy
a08ec8844a Merge remote-tracking branch 'origin/dev' into feature/915_PRI-31_Packaging_Deployment
# Conflicts:
#	docs/source/about.rst
#	src/primaite/main.py
#	src/primaite/nodes/node.py
2023-06-12 16:42:26 +01:00
Brian Kanyora
eac17b6e16 Merged PR 75: Fixing the functionality of resetting a node
## Summary:
Split the ticket into two task

Task 1: Fixed the resetting operating state to set compromised or overwhelmed services or operating system back to a good state. Added a reset count that switches the node into a good state.

Task 2: Created a "SHUTTING DOWN" operating state to last for a (configurable) and a "BOOTING" operating state to last for a (configurable).

## Test process
First test was to test the reset changes the node to a good state when its set to a COMPROMISED state. The last two test makes sure that the node boots and shutdowns correctly.

## Checklist
- [x] This PR is linked to a **work item**
- [x] I have performed **self-review** of the code
- [x] I have written **tests** for any new functionality added with this PR
- [x] I have updated the **documentation** if this PR changes or adds functionality
- [x] I have run **pre-commit** checks for code style

Related work items: #898, #1438
2023-06-12 15:21:47 +00:00