Merge branch 'dev' into feature/1595-finalise-and-test-the-loading-of-trained-agents
This commit is contained in:
@@ -20,17 +20,24 @@ What is PrimAITE built with
|
|||||||
* `OpenAI's Gym <https://gym.openai.com/>`_ is used as the basis for AI blue agent interaction with the PrimAITE environment
|
* `OpenAI's Gym <https://gym.openai.com/>`_ is used as the basis for AI blue agent interaction with the PrimAITE environment
|
||||||
* `Networkx <https://github.com/networkx/networkx>`_ is used as the underlying data structure used for the PrimAITE environment
|
* `Networkx <https://github.com/networkx/networkx>`_ is used as the underlying data structure used for the PrimAITE environment
|
||||||
* `Stable Baselines 3 <https://github.com/DLR-RM/stable-baselines3>`_ is used as a default source of RL algorithms (although PrimAITE is not limited to SB3 agents)
|
* `Stable Baselines 3 <https://github.com/DLR-RM/stable-baselines3>`_ is used as a default source of RL algorithms (although PrimAITE is not limited to SB3 agents)
|
||||||
|
* `Ray RLlib <https://github.com/ray-project/ray>`_ is used as an additional source of RL algorithms
|
||||||
|
* `Typer <https://github.com/tiangolo/typer>`_ is used for building CLIs (Command Line Interface applications)
|
||||||
|
* `Jupyterlab <https://github.com/jupyterlab/jupyterlab>`_ is used as an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture
|
||||||
|
* `Platformdirs <https://github.com/platformdirs/platformdirs>`_ is used for finding the right location to store user data and configuration but varies per platform
|
||||||
|
* `Plotly <https://github.com/plotly/plotly.py>`_ is used for building high level charts
|
||||||
|
|
||||||
|
|
||||||
Where next?
|
Where next?
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The best place to start is :ref:`about`
|
Head over to the :ref:`getting-started` page to install and setup PrimAITE!
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 8
|
:maxdepth: 8
|
||||||
:caption: Contents:
|
:caption: Contents:
|
||||||
:hidden:
|
:hidden:
|
||||||
|
|
||||||
|
source/getting_started
|
||||||
source/about
|
source/about
|
||||||
source/config
|
source/config
|
||||||
source/primaite_session
|
source/primaite_session
|
||||||
@@ -41,12 +48,14 @@ The best place to start is :ref:`about`
|
|||||||
source/glossary
|
source/glossary
|
||||||
source/migration_1.2_-_2.0
|
source/migration_1.2_-_2.0
|
||||||
|
|
||||||
|
|
||||||
|
.. TODO: Add project links once public repo has been created
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:caption: Project Links:
|
:caption: Project Links:
|
||||||
:hidden:
|
:hidden:
|
||||||
|
|
||||||
..
|
Code <https://github.com/Autonomous-Resilient-Cyber-Defence/PrimAITE>
|
||||||
#Code <>
|
Issues <https://github.com/Autonomous-Resilient-Cyber-Defence/PrimAITE/issues>
|
||||||
#Issues <>
|
Pull Requests <https://github.com/Autonomous-Resilient-Cyber-Defence/PrimAITE/pulls>
|
||||||
#Pull Requests <>
|
Discussions <https://github.com/Autonomous-Resilient-Cyber-Defence/PrimAITE/discussions>
|
||||||
#Discussions <>
|
|
||||||
|
|||||||
151
docs/source/getting_started.rst
Normal file
151
docs/source/getting_started.rst
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
.. _getting-started:
|
||||||
|
|
||||||
|
Getting Started
|
||||||
|
===============
|
||||||
|
|
||||||
|
**Getting Started with PrimAITE**
|
||||||
|
|
||||||
|
Pre-Requisites
|
||||||
|
|
||||||
|
In order to get **PrimAITE** installed, you will need to have a python version between 3.8 and 3.10 installed. If you don't already have it, this is how to install it:
|
||||||
|
|
||||||
|
|
||||||
|
.. tabs:: lang
|
||||||
|
|
||||||
|
.. code-tab:: bash
|
||||||
|
:caption: Unix
|
||||||
|
|
||||||
|
sudo add-apt-repository ppa:deadsnakes/ppa
|
||||||
|
sudo apt install python3.10
|
||||||
|
sudo apt-get install python3-pip
|
||||||
|
sudo apt-get install python3-venv
|
||||||
|
|
||||||
|
.. code-tab:: text
|
||||||
|
:caption: Windows (Powershell)
|
||||||
|
|
||||||
|
- Manual install from: https://www.python.org/downloads/release/python-31011/
|
||||||
|
|
||||||
|
**PrimAITE** is designed to be OS-agnostic, and thus should work on most variations/distros of Linux, Windows, and MacOS.
|
||||||
|
|
||||||
|
Install PrimAITE
|
||||||
|
****************
|
||||||
|
|
||||||
|
1. Create a primaite directory in your home directory:
|
||||||
|
|
||||||
|
.. tabs:: lang
|
||||||
|
|
||||||
|
.. code-tab:: bash
|
||||||
|
:caption: Unix
|
||||||
|
|
||||||
|
mkdir ~/primaite
|
||||||
|
|
||||||
|
.. code-tab:: powershell
|
||||||
|
:caption: Windows (Powershell)
|
||||||
|
|
||||||
|
mkdir ~\primaite
|
||||||
|
|
||||||
|
2. Navigate to the primaite directory and create a new python virtual environment (venv)
|
||||||
|
|
||||||
|
.. tabs:: lang
|
||||||
|
|
||||||
|
.. code-tab:: bash
|
||||||
|
:caption: Unix
|
||||||
|
|
||||||
|
cd ~/primaite
|
||||||
|
python3 -m venv .venv
|
||||||
|
|
||||||
|
.. code-tab:: powershell
|
||||||
|
:caption: Windows (Powershell)
|
||||||
|
|
||||||
|
cd ~\primaite
|
||||||
|
python3 -m venv .venv
|
||||||
|
attrib +h .venv /s /d # Hides the .venv directory
|
||||||
|
|
||||||
|
3. Activate the venv
|
||||||
|
|
||||||
|
.. tabs:: lang
|
||||||
|
|
||||||
|
.. code-tab:: bash
|
||||||
|
:caption: Unix
|
||||||
|
|
||||||
|
source .venv/bin/activate
|
||||||
|
|
||||||
|
.. code-tab:: powershell
|
||||||
|
:caption: Windows (Powershell)
|
||||||
|
|
||||||
|
.\.venv\Scripts\activate
|
||||||
|
|
||||||
|
|
||||||
|
4. Install PrimAITE using pip from PyPi
|
||||||
|
|
||||||
|
.. tabs:: lang
|
||||||
|
|
||||||
|
.. code-tab:: bash
|
||||||
|
:caption: Unix
|
||||||
|
|
||||||
|
pip install primaite
|
||||||
|
|
||||||
|
.. code-tab:: powershell
|
||||||
|
:caption: Windows (Powershell)
|
||||||
|
|
||||||
|
pip install primaite
|
||||||
|
|
||||||
|
5. Perform the PrimAITE setup
|
||||||
|
|
||||||
|
.. tabs:: lang
|
||||||
|
|
||||||
|
.. code-tab:: bash
|
||||||
|
:caption: Unix
|
||||||
|
|
||||||
|
primaite setup
|
||||||
|
|
||||||
|
.. code-tab:: powershell
|
||||||
|
:caption: Windows (Powershell)
|
||||||
|
|
||||||
|
primaite setup
|
||||||
|
|
||||||
|
Clone & Install PrimAITE for Development
|
||||||
|
****************************************
|
||||||
|
|
||||||
|
To be able to extend PrimAITE further, or to build wheels manually before install, clone the repository to a location
|
||||||
|
of your choice:
|
||||||
|
|
||||||
|
.. TODO:: Add repo path once we know what it is
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
git clone <repo path>
|
||||||
|
cd primaite
|
||||||
|
|
||||||
|
Create and activate your Python virtual environment (venv)
|
||||||
|
|
||||||
|
.. tabs:: lang
|
||||||
|
|
||||||
|
.. code-tab:: bash
|
||||||
|
:caption: Unix
|
||||||
|
|
||||||
|
python3 -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
|
||||||
|
.. code-tab:: powershell
|
||||||
|
:caption: Windows (Powershell)
|
||||||
|
|
||||||
|
python3 -m venv venv
|
||||||
|
.\venv\Scripts\activate
|
||||||
|
|
||||||
|
Install PrimAITE with the dev extra
|
||||||
|
|
||||||
|
.. tabs:: lang
|
||||||
|
|
||||||
|
.. code-tab:: bash
|
||||||
|
:caption: Unix
|
||||||
|
|
||||||
|
pip install -e .[dev]
|
||||||
|
|
||||||
|
.. code-tab:: powershell
|
||||||
|
:caption: Windows (Powershell)
|
||||||
|
|
||||||
|
pip install -e .[dev]
|
||||||
|
|
||||||
|
|
||||||
|
To view the complete list of packages installed during PrimAITE installation, go to the dependencies page (:ref:`Dependencies`).
|
||||||
@@ -10,6 +10,7 @@ A PrimAITE session can be ran either with the ``primaite session`` command from
|
|||||||
(See :func:`primaite.cli.session`), or by calling :func:`primaite.main.run` from a Python terminal or Jupyter Notebook.
|
(See :func:`primaite.cli.session`), or by calling :func:`primaite.main.run` from a Python terminal or Jupyter Notebook.
|
||||||
Both the ``primaite session`` and :func:`primaite.main.run` take a training config and a lay down config as parameters.
|
Both the ``primaite session`` and :func:`primaite.main.run` take a training config and a lay down config as parameters.
|
||||||
|
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
||||||
.. code-tab:: bash
|
.. code-tab:: bash
|
||||||
@@ -19,7 +20,7 @@ Both the ``primaite session`` and :func:`primaite.main.run` take a training conf
|
|||||||
source ./.venv/bin/activate
|
source ./.venv/bin/activate
|
||||||
primaite session ./config/my_training_config.yaml ./config/my_lay_down_config.yaml
|
primaite session ./config/my_training_config.yaml ./config/my_lay_down_config.yaml
|
||||||
|
|
||||||
.. code-tab:: bash
|
.. code-tab:: powershell
|
||||||
:caption: Powershell CLI
|
:caption: Powershell CLI
|
||||||
|
|
||||||
cd ~\primaite
|
cd ~\primaite
|
||||||
|
|||||||
Reference in New Issue
Block a user