Chris McCarthy
f01825b180
#1711 - Added the ability to load legacy lay down config files. Added extensive unit testing and end-to-end testing. Also added the ability to set exactly how many num_train_steps, num_eval_steps, num_train_episodes, and num_eval_episode and used when converting a legacy training config.
2023-07-28 12:53:49 +01:00
Chris McCarthy
050ca68907
#1648 - Updated file header from 'Crown Owned Copyright (C) Dstl 2023. DEFCON 703. Shared in confidence.' to '© Crown-owned copyright 2023, Defence Science and Technology Laboratory UK'
2023-07-21 14:54:09 +01:00
Chris McCarthy
df52236a7d
#1594 - Managed to get the evaluation of rllib agents working. A test has been added to test_primaite_session.py that now tests the full RLlib agent from end-to-end. I;ve also updated the tests in here to check that the mean reward per episode plot is created for both too. This will need a bit of a re-design further down the line, but for now, it works. Added a custom exception for RLlib eval only error.
2023-07-20 19:58:48 +01:00
Marek Wolan
c5f612889e
Merge remote-tracking branch 'origin/dev' into feature/901-change-functionality-acl-rules
2023-07-18 10:55:31 +01:00
SunilSamra
9520cfea24
#901 - Replaced "ALLOW" with RulePermissionType.ALLOW
...
- Added Explicit ALLOW to test_configs in order for tests to work
- Added typing to access_control_list.py and acl_rule.py
2023-07-17 20:40:00 +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
SunilSamra
a2f43b5abc
#901 - merged dev into branch
2023-07-17 19:54:07 +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
SunilSamra
ec938ce761
#901 - Changed num_eval_steps back to 1 in ppo_seeded_training_config.yaml
2023-07-17 14:06:33 +01:00
SunilSamra
78d7f39342
#901 - Removed flatten from training configs
...
- Added flatten operation in observations.py when there are multiple obs components
- Updated config.rst docs
2023-07-17 13:44:16 +01:00
SunilSamra
da20c0e9e6
#901
...
- Removed bool apply_implicit_rule
- Set default implicit_rule to EXPLICIT DENY
- Added position to ACLs in laydown configs
- Removed apply_implicit_rule from training configs
2023-07-17 13:00:58 +01:00
Chris McCarthy
75c91b9eb9
#1629 - Added rllib test
2023-07-17 11:50:07 +01:00
Chris McCarthy
f9c7cafe87
#901 - Dropped temp_primaite_sessiion_2 from conftest.py.
...
- Re-added the hard-coded mean rewards per episode values from a rpe-trained agent to the deterministic test in test_seeding_and_deterministic_session.py
- Partially tidies up some tests in test_observation_space.py; Still some work to be done on this at a later date.
2023-07-14 14:13:11 +01:00
Czar Echavez
436448beed
#1595 : fix poorly merged tests + files
2023-07-14 11:21:59 +01:00
SunilSamra
558223e8b6
901 - removed print statements and merged with dev
2023-07-13 17:14:59 +01:00
SunilSamra
77f717c649
Merge remote-tracking branch 'origin/dev' into feature/901-change-functionality-acl-rules
2023-07-13 16:48:02 +01:00
SunilSamra
0ab4dab72a
901 - fixed test_single_action_space.py test
2023-07-13 11:45:23 +01:00
SunilSamra
f8cb18c654
901 - changed acl current obs from list to numpy.array, changed default ACL list in training_config.py to FALSE, and tried to make test_seeding_and_deterministic_session.py test without fixed reward results
2023-07-13 11:04:11 +01:00
SunilSamra
96b48aad79
1566 - removed redundant config file
2023-07-12 09:52:54 +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
SunilSamra
41fab6562e
1566 - updated configs to correct values of step count and number of episodes
2023-07-07 16:26:12 +01: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
SunilSamra
35b481a2f3
Merge remote-tracking branch 'origin/dev' into feature/901-change-functionality-acl-rules
2023-07-07 15:14:05 +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
Czar Echavez
04e52453b1
Merge branch 'dev' into feature/1386-enable-a-repeatable-or-deterministic-baseline-test
2023-07-06 22:22:37 +01:00
Czar Echavez
46b44f9e23
#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
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
Czar Echavez
713225b432
#1386 : remove unneeded configs + setting the seed globally + temp test
2023-07-05 15:02:41 +01:00
SunilSamra
f121b0e21c
901 - merged with dev
2023-07-05 11:34:15 +01:00
SunilSamra
3f440c0a28
901 - updated observations.py to change and add new mapping of ACL rules to represent no rule present in list
2023-07-05 09:08:03 +01:00
Czar Echavez
410afc1d40
Merge branch 'dev' into feature/1386-enable-a-repeatable-or-deterministic-baseline-test
2023-07-04 09:41:07 +01:00
Chris McCarthy
7816e94f83
#917 - Synced with dev (at the point of random red agent)
2023-07-03 17:25:21 +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
SunilSamra
ef4d2c6cdd
901 - fixed test_single_action_space.py to reflect new acl structure and added new acl_implicit_rule class attribute
2023-06-27 11:43:33 +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
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
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
SunilSamra
cdd7183d85
901 - merged dev into my branch
2023-06-13 08:54:33 +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
Chris McCarthy
f5e195604f
#915 - Synced with dev
2023-06-09 15:49:48 +01:00
Chris McCarthy
0dbd89e5cb
Merge remote-tracking branch 'origin/dev' into feature/915_PRI-31_Packaging_Deployment
...
# Conflicts:
# docs/source/about.rst
# docs/source/config.rst
# src/primaite/common/config_values_main.py
# src/primaite/environment/primaite_env.py
# src/primaite/main.py
# tests/config/multidiscrete_obs_space_laydown_config.yaml
# tests/config/obs_tests/laydown.yaml
# tests/conftest.py
# tests/test_observation_space.py
2023-06-09 13:41:05 +01:00
Chris McCarthy
af4e71db9b
#915 - Synced with dev to bring in changes from #898
2023-06-09 13:11:14 +01:00