Commit Graph

508 Commits

Author SHA1 Message Date
Marek Wolan
0911efe4d0 Edit pipeline to use runtime parameters
https://stackoverflow.com/a/70046417
2023-07-11 08:05:38 +00:00
Marek Wolan
71f02d46d1 Updated azure-ci-build-pipeline.yaml 2023-07-11 07:19:58 +00:00
Marek Wolan
d90a00d063 Built matrix conditionally 2023-07-11 07:16:11 +00:00
Marek Wolan
40bbde1981 Merged PR 105: Fix errors while trying to run Hardcoded agent
## Summary
Since we added File System State as a new part of the observation space, some of the assumptions made by imported ADSP code were not met. This is addressed by these changes.

The code no longer crashes, but the hardcoded ACL agent doesn't work very well, it keeps returning action 0 and receives a low reward. Also if there are ACL rules with 'ANY' as a source IP, it crashes the function `get_node_of_ip` within the HardCodedACLAgent._calculate_action_full_view() method.

I'm not sure how much effort we need to spend fixing the hardcoded agents as they don't seem like they were delivered in a finished state.

## Test process
Can confirm the hardcoded agent can run within a primaite session now.

## 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

## note
I would appreciate some input about what we should do with hardcoded agents for release 2.0.0, it may require significant effort to get them working correctly.

Related work items: #1587
2023-07-10 15:10:12 +00:00
Brian Kanyora
ecc56ce5eb Merge remote-tracking branch 'origin/dev' into feature/1597-Getting-Started
# Conflicts:
#	docs/source/primaite-dependencies.rst
2023-07-10 15:48:32 +01:00
Brian Kanyora
270690a647 feature/1597:
pre commit fix
2023-07-10 15:41:50 +01:00
Marek Wolan
31703c54e2 Finished writing custom agent example. 2023-07-10 14:56:06 +01:00
SunilSamra
728ff01076 1566 - fixed the test_training_config.py test file by removing num_steps from init 2023-07-10 13:24:34 +01:00
Marek Wolan
59b34ffdf2 Changed build pipeline experimentally. 2023-07-10 10:25:26 +00:00
SunilSamra
9738d2b889 1566 - added correct num_train_episodes etc values to configs, fixed test_reward.py 2023-07-10 11:25:26 +01:00
Marek Wolan
55f958bb39 Merged PR 110: Update Observation spaces description
## Summary
This minor update adds more detail and links to relevant pages within the API docs.

## Test process
Locally built docs in HTML format to verify all content displays correctly.

Related work items: #1596
2023-07-10 10:20:42 +00:00
Marek Wolan
cc5e31c9b5 Changed order of text in custom agent docs 2023-07-10 11:19:47 +01:00
Brian Kanyora
4df9fc57a8 Additional syntax changes 2023-07-10 10:28:27 +01:00
Brian Kanyora
5ca939cdeb feature/1597:
Small syntax changes
2023-07-10 10:01:25 +01:00
Marek Wolan
56f369cfe0 Merge remote-tracking branch 'origin/dev' into bugfix/1587-hardcoded-agent 2023-07-10 09:15:25 +01:00
Marek Wolan
b293898913 Merged PR 104: Fix formatting in docstrings
## Summary
Fixes some incorrectly formatted documentations, such as in the observation module. Also adds some missing module-level docstrings. Also adds a PrimAITE Favicon to docs.

Removed Primaite-dependencies.rst as it's autogenerated.

## Test process
Purely cosmetic, so functionality not tested. I did render the HTML output to observe that some mistakes have been fixed.

## Checklist
- [x] This PR is linked to a **work item**
- [x] I have performed **self-review** of the code
- [na] 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
- [ ] I have run **pre-commit** checks for code style

Related work items: #1572
2023-07-10 08:14:08 +00:00
Marek Wolan
c6ed921643 Update docs 2023-07-09 20:23:53 +01:00
Marek Wolan
07a0581fce Merge remote-tracking branch 'origin/dev' into feature/1572-fix-docs-formatting 2023-07-09 18:13:57 +01:00
Marek Wolan
aac0e2cc0f Merge remote-tracking branch 'origin/dev' into bugfix/1587-hardcoded-agent 2023-07-09 18:07:30 +01:00
Marek Wolan
105fcaecf4 Removed comment 2023-07-09 18:07:21 +01:00
Marek Wolan
ef23e504d6 Merge remote-tracking branch 'origin/dev' into feature/1596-better-observation-docs 2023-07-09 18:05:13 +01:00
Brian Kanyora
77cce645f9 Resolved more syntax errors 2023-07-07 16:32:35 +01:00
SunilSamra
af4fd4f66b 1566 - updated configs to correct values of step count and number of episodes 2023-07-07 16:26:12 +01:00
Brian Kanyora
9567afbab1 Fixed the rst syntax 2023-07-07 16:25:55 +01:00
Marek Wolan
72aef78391 Merged PR 106: Resolve TODOs about documenting functions
## Summary
- Added type hints and docstrings to functions imported from ADSP.
- Imported `get_relevant_rules` which was referenced but didn't exist.
- Removed duplicated function definitions in `agents.utils`

## Test process
The changes in this PR are almost exclusively cosmetic. I can confirm that after adding/removing functions, the unit tests passed fine. I was also able to run the Hardcoded node and ACL agents without problems.

## Checklist
- [x] This PR is linked to a **work item**
- [x] I have performed **self-review** of the code
- [na] I have written **tests** for any new functionality added with this PR
- [na] 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: #1575
2023-07-07 15:10:44 +00:00
Chris McCarthy
1ddfca6459 #1566 - Refactored the test_train_eval_episode_steps.py to sue TempPrimaiteSession.
- Fixed all errors that were caused b fixing the above.
- Some tests still fail, these are for SS to fix.
- Dropped the old run_generic stuff from conftest.py
2023-07-07 15:50:14 +01:00
SunilSamra
4902ccd2b4 Merge remote-tracking branch 'origin/dev' into feature/901-change-functionality-acl-rules 2023-07-07 15:14:05 +01:00
Chris McCarthy
8edb26a65c Merge remote-tracking branch 'origin/dev' into 1566-configure-episode-steps-learn-eval
# Conflicts:
#	src/primaite/agents/rllib.py
2023-07-07 14:34:20 +01:00
Marek Wolan
2effe31523 Reworded observation description 2023-07-07 14:24:37 +01:00
SunilSamra
79d98e977b 1566 - added test file and edited configs to include types of num steps and modifed agents to use correct step and episode counts 2023-07-07 14:13:47 +01:00
Marek Wolan
179301e068 Update observation space documentation 2023-07-07 13:52:14 +01:00
Brian Kanyora
15ca48ec6c Added a getting started file 2023-07-07 11:37:57 +01:00
Marek Wolan
1d1f3f2403 Merge remote-tracking branch 'origin/dev' into feature/1572-fix-docs-formatting 2023-07-07 10:30:11 +01:00
Marek Wolan
5618283cc5 Standardise docstring summary line placement. 2023-07-07 10:28:00 +01:00
Czar Echavez
4acb220c0c Merged PR 89: #1386 Enable a repeatable/deterministic baseline test
## Summary
- Added the fix from #1535 with minor changes to make sure that the `primaite_env.step()` function can properly parse the action
- added the config deterministic and seed to training config
- added the deterministic and seed to the Training config class, with defaults `False` and `None` respectively
- minor fix to `primaite_env.close()` function so that it now works

## Test process
Added e2e tests for generic, ppo and a2c which evaluates a trained agent twice to make sure that the seeding and deterministic action works

## 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

#1386: added the ability to set deterministic and seeding RNG when training and evaluating + the fix provided in #1535

Related work items: #1386, #1535
2023-07-07 09:22:47 +00:00
Czar Echavez
76997f403e Merge branch 'dev' into feature/1386-enable-a-repeatable-or-deterministic-baseline-test 2023-07-06 22:22:37 +01:00
Christopher McCarthy
5ac196b3cb Merged PR 109: Auto save agent at end of training
## Summary
* Made RLlib and SB3 agents save at the end of each learning session by default using a common file naming format. Also now agents only checkpoint every n and not on the final episode.

## Test process
*Tests saved agent file in the test_primaite_session test.

## 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
- [ ] 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: #1593
2023-07-06 16:29:48 +00:00
Marek Wolan
87710ec22b Merged PR 108: Divide default rewards by 10000
## Summary
As per the discussion this morning, this PR reimplements changes that were made by ADSP to make the default rewards smaller. This also adds type hints rewards as floats.

## Test process
I checked that sessions are able to run and that they report values similar to what we are used to but smaller by a factor of 10000. I did not change the reward values in the integration test configs, and the tests still pass.

## 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: #889, #1586
2023-07-06 15:17:47 +00:00
Marek Wolan
653d76ec62 Added docstrings to class intialisers 2023-07-06 16:08:51 +01:00
Marek Wolan
9167816896 Removed reference to file that no longer exists 2023-07-06 15:18:49 +01:00
Marek Wolan
8d466accf5 Add __init__ to class special members doc 2023-07-06 15:18:33 +01:00
Marek Wolan
eb068e22b6 undeleted api (lol) 2023-07-06 15:05:39 +01:00
Marek Wolan
70bde700b7 Deleted icon 2023-07-06 15:04:46 +01:00
Chris McCarthy
ddabf991ce #1593 - Ran pre-commit hook 2023-07-06 14:18:49 +01:00
Chris McCarthy
fc98441a11 #1593 - Check that agent saved file exists 2023-07-06 14:13:02 +01:00
Chris McCarthy
1e7f5b62f3 #1963 - Made RLlib and SB3 agents save at the end of each learning session by default using a common file naming format. Also now agents only checkpoint every n and not on the final episode 2023-07-06 13:56:12 +01:00
Czar Echavez
08220ff6ea #1386: remove redundant config files + test fixtures + fixing deterministic and seed config description in documentation to avoid misunderstandings 2023-07-06 13:27:44 +01:00
Marek Wolan
33f6f8bc34 Updated rewards type description in docs 2023-07-06 12:56:24 +01:00
Marek Wolan
dd8593e489 Change reward to float and divide by 10000 2023-07-06 12:52:14 +01:00
Czar Echavez
bb9bfc50a5 #1386: remove setting of global seed + running pre-commit checks 2023-07-06 12:10:26 +01:00