Give the UC2 config load function a meaningful name
This commit is contained in:
@@ -127,10 +127,10 @@ def session(
|
|||||||
:param config: The path to the config file. Optional, if None, the example config will be used.
|
:param config: The path to the config file. Optional, if None, the example config will be used.
|
||||||
:type config: Optional[str]
|
:type config: Optional[str]
|
||||||
"""
|
"""
|
||||||
from primaite.config.load import example_config_path
|
from primaite.config.load import data_manipulation_config_path
|
||||||
from primaite.main import run
|
from primaite.main import run
|
||||||
|
|
||||||
if not config:
|
if not config:
|
||||||
config = example_config_path()
|
config = data_manipulation_config_path()
|
||||||
print(config)
|
print(config)
|
||||||
run(config_path=config, agent_load_path=agent_load_file)
|
run(config_path=config, agent_load_path=agent_load_file)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ def load(file_path: Union[str, Path]) -> Dict:
|
|||||||
return config
|
return config
|
||||||
|
|
||||||
|
|
||||||
def example_config_path() -> Path:
|
def data_manipulation_config_path() -> Path:
|
||||||
"""
|
"""
|
||||||
Get the path to the example config.
|
Get the path to the example config.
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from pathlib import Path
|
|||||||
from typing import Optional, Union
|
from typing import Optional, Union
|
||||||
|
|
||||||
from primaite import getLogger
|
from primaite import getLogger
|
||||||
from primaite.config.load import example_config_path, load
|
from primaite.config.load import data_manipulation_config_path, load
|
||||||
from primaite.session.session import PrimaiteSession
|
from primaite.session.session import PrimaiteSession
|
||||||
|
|
||||||
# from primaite.primaite_session import PrimaiteSession
|
# from primaite.primaite_session import PrimaiteSession
|
||||||
@@ -42,6 +42,6 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
if not args.config:
|
if not args.config:
|
||||||
args.config = example_config_path()
|
args.config = data_manipulation_config_path()
|
||||||
|
|
||||||
run(args.config)
|
run(args.config)
|
||||||
|
|||||||
@@ -371,7 +371,7 @@
|
|||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"# Imports\n",
|
"# Imports\n",
|
||||||
"from primaite.config.load import example_config_path\n",
|
"from primaite.config.load import data_manipulation_config_path\n",
|
||||||
"from primaite.session.environment import PrimaiteGymEnv\n",
|
"from primaite.session.environment import PrimaiteGymEnv\n",
|
||||||
"from primaite.game.game import PrimaiteGame\n",
|
"from primaite.game.game import PrimaiteGame\n",
|
||||||
"import yaml\n",
|
"import yaml\n",
|
||||||
@@ -394,7 +394,7 @@
|
|||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"# create the env\n",
|
"# create the env\n",
|
||||||
"with open(example_config_path(), 'r') as f:\n",
|
"with open(data_manipulation_config_path(), 'r') as f:\n",
|
||||||
" cfg = yaml.safe_load(f)\n",
|
" cfg = yaml.safe_load(f)\n",
|
||||||
" # set success probability to 1.0 to avoid rerunning cells.\n",
|
" # set success probability to 1.0 to avoid rerunning cells.\n",
|
||||||
" cfg['simulation']['network']['nodes'][8]['applications'][0]['options']['data_manipulation_p_of_success'] = 1.0\n",
|
" cfg['simulation']['network']['nodes'][8]['applications'][0]['options']['data_manipulation_p_of_success'] = 1.0\n",
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"from primaite.game.game import PrimaiteGame\n",
|
"from primaite.game.game import PrimaiteGame\n",
|
||||||
"import yaml\n",
|
"import yaml\n",
|
||||||
"from primaite.config.load import example_config_path\n",
|
"from primaite.config.load import data_manipulation_config_path\n",
|
||||||
"\n",
|
"\n",
|
||||||
"from primaite.session.environment import PrimaiteRayEnv\n",
|
"from primaite.session.environment import PrimaiteRayEnv\n",
|
||||||
"from ray.rllib.algorithms import ppo\n",
|
"from ray.rllib.algorithms import ppo\n",
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"\n",
|
"\n",
|
||||||
"# If you get an error saying this config file doesn't exist, you may need to run `primaite setup` in your command line\n",
|
"# If you get an error saying this config file doesn't exist, you may need to run `primaite setup` in your command line\n",
|
||||||
"# to copy the files to your user data path.\n",
|
"# to copy the files to your user data path.\n",
|
||||||
"with open(example_config_path(), 'r') as f:\n",
|
"with open(data_manipulation_config_path(), 'r') as f:\n",
|
||||||
" cfg = yaml.safe_load(f)\n",
|
" cfg = yaml.safe_load(f)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"ray.init(local_mode=True)\n"
|
"ray.init(local_mode=True)\n"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"from primaite.config.load import example_config_path"
|
"from primaite.config.load import data_manipulation_config_path"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"with open(example_config_path(), 'r') as f:\n",
|
"with open(data_manipulation_config_path(), 'r') as f:\n",
|
||||||
" cfg = yaml.safe_load(f)\n"
|
" cfg = yaml.safe_load(f)\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import yaml
|
|||||||
from ray import air, tune
|
from ray import air, tune
|
||||||
from ray.rllib.algorithms.ppo import PPOConfig
|
from ray.rllib.algorithms.ppo import PPOConfig
|
||||||
|
|
||||||
from primaite.config.load import example_config_path
|
from primaite.config.load import data_manipulation_config_path
|
||||||
from primaite.game.game import PrimaiteGame
|
from primaite.game.game import PrimaiteGame
|
||||||
from primaite.session.environment import PrimaiteRayMARLEnv
|
from primaite.session.environment import PrimaiteRayMARLEnv
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ from primaite.session.environment import PrimaiteRayMARLEnv
|
|||||||
def test_rllib_multi_agent_compatibility():
|
def test_rllib_multi_agent_compatibility():
|
||||||
"""Test that the PrimaiteRayEnv class can be used with a multi agent RLLIB system."""
|
"""Test that the PrimaiteRayEnv class can be used with a multi agent RLLIB system."""
|
||||||
|
|
||||||
with open(example_config_path(), "r") as f:
|
with open(data_manipulation_config_path(), "r") as f:
|
||||||
cfg = yaml.safe_load(f)
|
cfg = yaml.safe_load(f)
|
||||||
|
|
||||||
game = PrimaiteGame.from_config(cfg)
|
game = PrimaiteGame.from_config(cfg)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import ray
|
|||||||
import yaml
|
import yaml
|
||||||
from ray.rllib.algorithms import ppo
|
from ray.rllib.algorithms import ppo
|
||||||
|
|
||||||
from primaite.config.load import example_config_path
|
from primaite.config.load import data_manipulation_config_path
|
||||||
from primaite.game.game import PrimaiteGame
|
from primaite.game.game import PrimaiteGame
|
||||||
from primaite.session.environment import PrimaiteRayEnv
|
from primaite.session.environment import PrimaiteRayEnv
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@ from primaite.session.environment import PrimaiteRayEnv
|
|||||||
@pytest.mark.skip(reason="Slow, reenable later")
|
@pytest.mark.skip(reason="Slow, reenable later")
|
||||||
def test_rllib_single_agent_compatibility():
|
def test_rllib_single_agent_compatibility():
|
||||||
"""Test that the PrimaiteRayEnv class can be used with a single agent RLLIB system."""
|
"""Test that the PrimaiteRayEnv class can be used with a single agent RLLIB system."""
|
||||||
with open(example_config_path(), "r") as f:
|
with open(data_manipulation_config_path(), "r") as f:
|
||||||
cfg = yaml.safe_load(f)
|
cfg = yaml.safe_load(f)
|
||||||
|
|
||||||
game = PrimaiteGame.from_config(cfg)
|
game = PrimaiteGame.from_config(cfg)
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ import pytest
|
|||||||
import yaml
|
import yaml
|
||||||
from stable_baselines3 import PPO
|
from stable_baselines3 import PPO
|
||||||
|
|
||||||
from primaite.config.load import example_config_path
|
from primaite.config.load import data_manipulation_config_path
|
||||||
from primaite.game.game import PrimaiteGame
|
from primaite.game.game import PrimaiteGame
|
||||||
from primaite.session.environment import PrimaiteGymEnv
|
from primaite.session.environment import PrimaiteGymEnv
|
||||||
|
|
||||||
|
|
||||||
def test_sb3_compatibility():
|
def test_sb3_compatibility():
|
||||||
"""Test that the Gymnasium environment can be used with an SB3 agent."""
|
"""Test that the Gymnasium environment can be used with an SB3 agent."""
|
||||||
with open(example_config_path(), "r") as f:
|
with open(data_manipulation_config_path(), "r") as f:
|
||||||
cfg = yaml.safe_load(f)
|
cfg = yaml.safe_load(f)
|
||||||
|
|
||||||
gym = PrimaiteGymEnv(game_config=cfg)
|
gym = PrimaiteGymEnv(game_config=cfg)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from primaite.config.load import example_config_path
|
from primaite.config.load import data_manipulation_config_path
|
||||||
from primaite.simulator.network.container import Network
|
from primaite.simulator.network.container import Network
|
||||||
from primaite.simulator.network.hardware.node_operating_state import NodeOperatingState
|
from primaite.simulator.network.hardware.node_operating_state import NodeOperatingState
|
||||||
from primaite.simulator.network.hardware.nodes.host.computer import Computer
|
from primaite.simulator.network.hardware.nodes.host.computer import Computer
|
||||||
@@ -7,7 +7,7 @@ from tests.integration_tests.configuration_file_parsing import BASIC_CONFIG, DMZ
|
|||||||
|
|
||||||
def test_example_config():
|
def test_example_config():
|
||||||
"""Test that the example config can be parsed properly."""
|
"""Test that the example config can be parsed properly."""
|
||||||
game = load_config(example_config_path())
|
game = load_config(data_manipulation_config_path())
|
||||||
network: Network = game.simulation.network
|
network: Network = game.simulation.network
|
||||||
|
|
||||||
assert len(network.nodes) == 10 # 10 nodes in example network
|
assert len(network.nodes) == 10 # 10 nodes in example network
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from typing import Union
|
|||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from primaite.config.load import example_config_path
|
from primaite.config.load import data_manipulation_config_path
|
||||||
from primaite.game.agent.data_manipulation_bot import DataManipulationAgent
|
from primaite.game.agent.data_manipulation_bot import DataManipulationAgent
|
||||||
from primaite.game.agent.interface import ProxyAgent, RandomAgent
|
from primaite.game.agent.interface import ProxyAgent, RandomAgent
|
||||||
from primaite.game.game import APPLICATION_TYPES_MAPPING, PrimaiteGame, SERVICE_TYPES_MAPPING
|
from primaite.game.game import APPLICATION_TYPES_MAPPING, PrimaiteGame, SERVICE_TYPES_MAPPING
|
||||||
@@ -37,7 +37,7 @@ def load_config(config_path: Union[str, Path]) -> PrimaiteGame:
|
|||||||
|
|
||||||
def test_example_config():
|
def test_example_config():
|
||||||
"""Test that the example config can be parsed properly."""
|
"""Test that the example config can be parsed properly."""
|
||||||
game = load_config(example_config_path())
|
game = load_config(data_manipulation_config_path())
|
||||||
|
|
||||||
assert len(game.agents) == 4 # red, blue and 2 green agents
|
assert len(game.agents) == 4 # red, blue and 2 green agents
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user