v3.0.0 #21
marek-methods
announced in
Announcements
v3.0.0
#21
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
PrimAITE v3.0.0
PrimAITE was rebuilt from the ground up. This release note is aimed at users of PrimAITE 2 to highlight the key changes and new concepts. However, both new and returning users are encouraged to read the docs and example notebooks because of the magnitude of changes since the last release.
✨ What's New
High-level software architecture
stateinterface, and it sends agents' actions via therequestinterface. Refer to the docs for a full description.Simulation
Game Layer
stateinterface of the simulation. Agents can have a view over everything or they can be specialised to see certain parts of the network.Configuration
Running PrimAITE
Sessionmodule from PrimAITE 2 - PrimAITE 3 focuses purely on providing an RL environment, not any training / evaluation infrastructure.🐞 Bug Fixes
The bugs present in PrimAITE 2 are no longer present as a result of the software rewrite. This includes:
Transaction CSV incorrect headers - PrimAITE 3 logging no longer uses a CSV file for transactions, however agent action history and step-wise environment state can be logged which provides the same information.
PrimAITE not installing on Mac Sonoma 14.2.1 - MacOS installation success is assured as part of the CI builds that are part of PrimAITE development cadence.
ACL action filtering incorrect with implicit ALLOW - the ACL system has been rewritten to work with the new node system. This has been fixed.
Traffic always blocked - This bug was caused by inconsistent data type handling in PrimAITE 2. PrimAITE 3 is using Pydantic to avoid issues like this. This has been fixed.
Documentation not rendering properly - The documentation is not currently hosted online but it can be built locally.
🔨 Breaking Changes
Code and configuration files written for PrimAITE 2 are not compatible with PrimAITE 3.
♻️ Refactoring
Since the software was rewritten, there are too many refactoring items to list here, but the software structure is described in the documentation.
🚦 Tests
📚 Docs
Rendered sphinx docs are attached to the PrimAITE 3.0.0 GitHub release page. Users can also build the docs manually after installing PrimAITE by running the following:
~/primaite/3.0.0/notebooks) for running interactively. Static versions of the notebooks are also available within the sphinx documentation.⚡️ Performance Notes
Users should note that the heavy demands made on CPU and RAM by some PrimAITE activities, particularly when a complex scenario is modelled, may result in other applications running slower than they would on an otherwise unloaded system.
gymnasium.spaces.Discreteshape, and a list of actions must be provided using theaction_mapconfig option for each agent. Other action spaces and more flexible action space definition will be part of a future release.ulimit -n 9999on linux), or by disabling PCAP logs via the config.💫 Getting started
Installing from wheel
On Linux, create your virtual environment and install PrimAITE:
On Windows, create your virtual environment and install PrimAITE:
Installing from repository
On Linux, clone PrimAITE, and install:
On Windows, clone PrimAITE, and install
🛠 Engineering Notes
Contributors
Archer Bowen
Charlie Crane
Czar Echavez
Christopher McCarthy
Nick Todd
Marek Wolan
This discussion was created from the release v3.0.0.
All reactions