Commit Graph

208 Commits

Author SHA1 Message Date
Marek Wolan
a2ef4328dd Remove redundant 'if TYPE_CHECKING' statements 2023-07-18 10:21:06 +01:00
Marek Wolan
393505b98b Ensure everything is still typehinted 2023-07-18 10:13:54 +01:00
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
Chris McCarthy
2d1a1e6db7 #1631 - Added the DEFCON 703 header to all possible files 2023-07-17 19:28:43 +01:00
Christopher McCarthy
35af1e9d1e Merged PR 121: #1629 - Added rllib test
## Summary
Quick test that uses RLLIB in a session

## Test process
The learning session completes then we check that the number of rows in both the average reward per episode and all transactions csv files.

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

#1629 - Added rllib test

Related work items: #1629
2023-07-17 17:28:51 +00:00
Marek Wolan
bfce2f9a7b Change typehints after mypy analysis 2023-07-17 16:22:07 +01:00
Chris McCarthy
360eb38c2b #1629 - Added assertion in the test that checks the length of the all transactions file too.
- Added supporting function on the TempPrimaiteSession class that reads the all transactions csv file.
- Some renaming of the functions.
2023-07-17 12:14:47 +01:00
Czar Echavez
6b76214eb2 #1595: set default tc and ldc to None for AgentABC and PrimaiteSession + adding a comment for cli load flag 2023-07-17 11:54:54 +01:00
Marek Wolan
432da5ca90 Add typehint for agent config class 2023-07-17 11:21:29 +01:00
Marek Wolan
2bb71623fa Fix types according to mypy 2023-07-14 16:38:55 +01:00
Czar Echavez
ea7c1519fe #1595: minor fix to cli command 2023-07-14 16:04: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
31fedb945e Add typehints 2023-07-14 14:43:47 +01:00
Czar.Echavez
8e2f105d57 #1595:
- Added ability to load sessions via PrimaiteSession
- PrimaiteSession loading test
- Added a NotImplemented RLlib loading for now
- Added the ability to load sessions for hardcoded agents
- Moved Session metadata parsing to utils
2023-07-14 14:14:03 +01:00
Marek Wolan
c2931bde6c Added type hints 2023-07-14 12:01:38 +01:00
Czar Echavez
436448beed #1595: fix poorly merged tests + files 2023-07-14 11:21:59 +01:00
Czar Echavez
7b929109dc #1595: test to make sure that the loaded agent trains + remove unnecessary files + fixing agent save output name 2023-07-14 10:56:28 +01:00
Czar Echavez
118b05ede0 Merge branch 'dev' into feature/1595-finalise-and-test-the-loading-of-trained-agents 2023-07-14 08:39:52 +01:00
Marek Wolan
9650669c83 Add More Typehint 2023-07-13 18:08:44 +01:00
Czar.Echavez
738e5b5dca #1595 missed hardcoded_abc file in commit 2023-07-13 16:24:30 +01:00
Czar.Echavez
606354614a #1595:
- SB3 Agent loading
- rename agent.py -> agent_abc.py
- rename hardcoded.py -> hardcoded_abc.py
- Tests
- Added in test asset that is used to load the SB3 Agent
2023-07-13 16:24:03 +01:00
Marek Wolan
36e48dc8e9 Continue Adding Typehints 2023-07-13 12:25:54 +01:00
Marek Wolan
f4a70394e0 Type hint ACLs 2023-07-12 16:58:12 +01:00
Czar.Echavez
baa14b6cd7 #1595: Moved hardcoded agent into its own file 2023-07-11 15:03:02 +01:00
SunilSamra
6b59ce960d Merge remote-tracking branch 'origin/dev' into feature/1566-configure_episode-steps-learn-eval
# Conflicts:
#	src/primaite/config/training_config.py
2023-07-11 11:39:21 +01:00
SunilSamra
563ff72fd6 1566 - fixed the test_training_config.py test file by removing num_steps from init 2023-07-10 13:24:34 +01:00
SunilSamra
921dc934c2 1566 - added correct num_train_episodes etc values to configs, fixed test_reward.py 2023-07-10 11:25:26 +01:00
Marek Wolan
bd6f9fc309 Merge remote-tracking branch 'origin/dev' into bugfix/1587-hardcoded-agent 2023-07-10 09:15:25 +01:00
Marek Wolan
91287f8666 Merge remote-tracking branch 'origin/dev' into feature/1572-fix-docs-formatting 2023-07-09 18:13:57 +01:00
Marek Wolan
605a5b4cd6 Merge remote-tracking branch 'origin/dev' into bugfix/1587-hardcoded-agent 2023-07-09 18:07:30 +01:00
Marek Wolan
17894376c6 Removed comment 2023-07-09 18:07:21 +01:00
Marek Wolan
677d12b550 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
40381833d3 #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
Chris McCarthy
d49f73f139 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
SunilSamra
e03c29b921 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
7e0eee5d73 Merge remote-tracking branch 'origin/dev' into feature/1572-fix-docs-formatting 2023-07-07 10:30:11 +01:00
Marek Wolan
f4b98542b6 Standardise docstring summary line placement. 2023-07-07 10:28:00 +01:00
Czar Echavez
04e52453b1 Merge branch 'dev' into feature/1386-enable-a-repeatable-or-deterministic-baseline-test 2023-07-06 22:22:37 +01:00
Christopher McCarthy
207601b81f 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
86725064ec Added docstrings to class intialisers 2023-07-06 16:08:51 +01:00
Chris McCarthy
c9f4741655 #1593 - Ran pre-commit hook 2023-07-06 14:18:49 +01:00
Chris McCarthy
159d47fd6c #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
Marek Wolan
c5d7d55747 Change reward to float and divide by 10000 2023-07-06 12:52:14 +01:00
Czar Echavez
99f1f7cfc1 #1386: remove setting of global seed + running pre-commit checks 2023-07-06 12:10:26 +01:00
Chris McCarthy
3438ce7e09 #1386 - Updated tests in test_seeding_and_deterministic_session.py to use TempPrimaiteSession.
- Added test_seeded_learning test and test_deterministic_evaluation test.
- Passed config values seed and deterministic to ppo agent
- Dropped deterministic override in evaluate functions
- TempPrimaiteSession now writes files to a UUID folder rather than datetime
- Added seed to Ray RLlib agent setup in rllib.py
- Added seed to SB3 agent setup in sb3.py
2023-07-06 11:35:44 +01:00
SunilSamra
4371ca13fc 1566 - added train_episodes, train_steps, eval_episodes and eval_steps to training_config_main.yaml 2023-07-06 11:12:51 +01:00
Marek Wolan
e174db5d9e Rescaled default rewards by a factor of 1/10000 2023-07-06 10:51:34 +01:00
Marek Wolan
87bdaa1ec3 Updated documentation 2023-07-06 10:34:27 +01:00
Marek Wolan
c38dda34b9 Removed duplicated function definitions 2023-07-06 10:23:14 +01:00