47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
import pytest
|
|
|
|
from primaite import getLogger
|
|
from primaite.config.lay_down_config import dos_very_basic_config_path
|
|
from tests import TEST_CONFIG_ROOT
|
|
from tests.conftest import run_generic
|
|
|
|
_LOGGER = getLogger(__name__)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"temp_primaite_session",
|
|
[[TEST_CONFIG_ROOT / "train_episode_step.yaml", dos_very_basic_config_path()]],
|
|
indirect=True,
|
|
)
|
|
def test_eval_steps_differ_from_training(temp_primaite_session):
|
|
"""Uses PrimaiteSession class to compare number of episodes used for training and evaluation."""
|
|
with temp_primaite_session as train_session:
|
|
env = train_session.env
|
|
train_session.learn()
|
|
|
|
"""
|
|
Train_episode_step.yaml main config:
|
|
num_train_steps = 1
|
|
num_eval_steps = 10
|
|
|
|
When the YAML file changes from TRAIN to EVAL the episode step changes and uses the other config value.
|
|
|
|
The test is showing that 10 steps are running for evaluation and NOT 1 step as EVAL has been selected in the config.
|
|
"""
|
|
assert env.episode_steps == 10 # 30
|
|
# assert env.actual_episode_count == 10 # should be 10
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"temp_primaite_session",
|
|
[[TEST_CONFIG_ROOT / "train_episode_step.yaml", dos_very_basic_config_path()]],
|
|
indirect=True,
|
|
)
|
|
def test_train_eval_config_option(temp_primaite_session):
|
|
"""Uses PrimaiteSession class to test number of episodes and steps used for TRAIN and EVAL option."""
|
|
with temp_primaite_session as train_session:
|
|
env = train_session.env
|
|
run_generic(env, env.training_config)
|
|
|
|
print(env.actual_episode_count, env.step_count, env.total_step_count)
|