def test_run_training(load_config, create_environment_factory, subproc_env_mock): mock_env = MagicMock() mock_env.external_brain_names = [] mock_env.academy_name = 'TestAcademyName' create_environment_factory.return_value = mock_env trainer_config_mock = MagicMock() load_config.return_value = trainer_config_mock mock_init = MagicMock(return_value=None) with patch.object(TrainerController, "__init__", mock_init): with patch.object(TrainerController, "start_learning", MagicMock()): learn.run_training(0, 0, basic_options(), MagicMock()) mock_init.assert_called_once_with( './models/ppo-0', './summaries', 'ppo-0', 50000, None, False, False, 5, 0, subproc_env_mock.return_value.external_brains, 0, True )
def test_run_training( load_config, create_environment_factory, subproc_env_mock, sampler_manager_mock, trainer_factory_mock, ): mock_env = MagicMock() mock_env.external_brain_names = [] mock_env.academy_name = "TestAcademyName" create_environment_factory.return_value = mock_env trainer_config_mock = MagicMock() load_config.return_value = trainer_config_mock mock_init = MagicMock(return_value=None) with patch.object(TrainerController, "__init__", mock_init): with patch.object(TrainerController, "start_learning", MagicMock()): learn.run_training(0, basic_options()) mock_init.assert_called_once_with( trainer_factory_mock.return_value, "./models/ppo", "./summaries", "ppo", 50000, None, False, 0, sampler_manager_mock.return_value, None, )
def test_run_training( load_config, create_environment_factory, subproc_env_mock, trainer_factory_mock, handle_dir_mock, write_run_options_mock, write_timing_tree_mock, ): mock_env = MagicMock() mock_env.external_brain_names = [] mock_env.academy_name = "TestAcademyName" create_environment_factory.return_value = mock_env load_config.return_value = yaml.safe_load(MOCK_INITIALIZE_YAML) mock_param_manager = MagicMock(return_value="mock_param_manager") mock_init = MagicMock(return_value=None) with patch.object(EnvironmentParameterManager, "__new__", mock_param_manager): with patch.object(TrainerController, "__init__", mock_init): with patch.object(TrainerController, "start_learning", MagicMock()): options = basic_options() learn.run_training(0, options) mock_init.assert_called_once_with( trainer_factory_mock.return_value, "results/ppo", "ppo", "mock_param_manager", True, 0, ) handle_dir_mock.assert_called_once_with( "results/ppo", False, False, "results/notuselessrun" ) write_timing_tree_mock.assert_called_once_with("results/ppo/run_logs") write_run_options_mock.assert_called_once_with("results/ppo", options) StatsReporter.writers.clear() # make sure there aren't any writers as added by learn.py
def test_docker_target_path(load_config, create_environment_factory, subproc_env_mock): mock_env = MagicMock() mock_env.external_brain_names = [] mock_env.academy_name = 'TestAcademyName' create_environment_factory.return_value = mock_env trainer_config_mock = MagicMock() load_config.return_value = trainer_config_mock options_with_docker_target = basic_options() options_with_docker_target['--docker-target-name'] = 'dockertarget' mock_init = MagicMock(return_value=None) with patch.object(TrainerController, "__init__", mock_init): with patch.object(TrainerController, "start_learning", MagicMock()): learn.run_training(0, 0, options_with_docker_target, MagicMock()) mock_init.assert_called_once() assert(mock_init.call_args[0][0] == '/dockertarget/models/ppo-0') assert(mock_init.call_args[0][1] == '/dockertarget/summaries')
def test_docker_target_path(load_config, create_environment_factory, subproc_env_mock, sampler_manager_mock): mock_env = MagicMock() mock_env.external_brain_names = [] mock_env.academy_name = "TestAcademyName" create_environment_factory.return_value = mock_env trainer_config_mock = MagicMock() load_config.return_value = trainer_config_mock options_with_docker_target = basic_options( {"--docker-target-name": "dockertarget"}) mock_init = MagicMock(return_value=None) with patch.object(TrainerController, "__init__", mock_init): with patch.object(TrainerController, "start_learning", MagicMock()): learn.run_training(0, options_with_docker_target) mock_init.assert_called_once() assert mock_init.call_args[0][1] == "/dockertarget/models/ppo" assert mock_init.call_args[0][2] == "/dockertarget/summaries" StatsReporter.writers.clear( ) # make sure there aren't any writers as added by learn.py
from mlagents_envs.environment import UnityEnvironment from mlagents.trainers import learn # This is a non-blocking call that only loads the environment. # env = UnityEnvironment(file_name=None, seed=1, side_channels=[]) # Start interacting with the evironment. # env.reset() # behavior_names = env.behavior_spec.keys() if __name__ == "__main__": opts = learn.parse_command_line([ "../../ml-agents/config/trainer_config.yaml", "--run-id=testing_3", "--force" ]) print(opts) learn.run_training(1, opts)