def test_listEnvs_configExist_returnsEnvs(self): config = TestEnvConfig.get() experiment = Experiment(config) envs = experiment.list_envs() assert len(envs) > 1
def test_listEnvs_configExist_returnsEnvs(self): config = Config(test=True) experiment = Experiment(config) envs = experiment.list_envs() assert len(envs) > 1
def test_listTrainExperiments_selectExperiment_printsConfig(self): config = Config(test=True) explorer = Explorer(config=config) experiment = Experiment(config) analyzer = Analyzer(config=config, session_id=experiment.get_session_id()) experiments = explorer.list_train_experiments() analyzer.compare_train_config(experiments)
def test_train_agent_dqn(self): config = TestAgentConfig.get() experiment = Experiment(config) experiment.set_env('lunarlander-dqn') scores = experiment.train() assert len(scores) == ( config.get_current_exp_cfg().trainer_cfg.max_steps / config.get_current_exp_cfg().trainer_cfg.max_episode_steps)
def test_train_agent_dqn_with_disabled_prioritized_replay(self): config = TestAgentConfig.get() experiment = Experiment(config) experiment.set_env('lunarlander-dqn-noprio') scores = experiment.train() assert len(scores) == ( config.get_current_exp_cfg().trainer_cfg.max_steps / config.get_current_exp_cfg().trainer_cfg.max_episode_steps)
def test_train_environment_gymai_lunarlander(self): config = TestEnvConfig.get() experiment = Experiment(config) experiment.set_env('lunarlander') scores = experiment.train() assert len(scores) == ( config.get_current_exp_cfg().trainer_cfg.max_steps / config.get_current_exp_cfg().trainer_cfg.max_episode_steps)
def test_train_environment_unity_banana(self): config = TestEnvConfig.get() experiment = Experiment(config) experiment.set_env('banana') scores = experiment.train() assert len(scores) == ( config.get_current_exp_cfg().trainer_cfg.max_steps / config.get_current_exp_cfg().trainer_cfg.max_episode_steps)
def test_train_environment_atari_breakout_rgb(self): config = TestEnvConfig.get() experiment = Experiment(config) experiment.set_env('breakout-rgb') scores = experiment.train() assert len(scores) == ( config.get_current_exp_cfg().trainer_cfg.max_steps / config.get_current_exp_cfg().trainer_cfg.max_episode_steps)
def test_listTrainExperiments_selectExperiment_compareEpochScore(self): config = Config(test=True) explorer = Explorer(config=config) experiment = Experiment(config) analyzer = Analyzer(config=config, session_id=experiment.get_session_id()) experiments = explorer.list_train_experiments() for experiment in experiments: file = analyzer.compare_train_epoch_score(experiment) assert file is not None
def test_listTrainExperiments_selectExperiments_compareEpochData(self): config = Config(test=True) explorer = Explorer(config=config) experiment = Experiment(config) analyzer = Analyzer(config=config, session_id=experiment.get_session_id()) experiments = explorer.list_train_experiments() file = analyzer.compare_train_epoch_cols(experiments, 'avg_score') assert file is not None
def test_playDummy_configExist_playsWithDummyAgent(self): config = TestEnvConfig.get() experiment = Experiment(config) envs = experiment.list_envs() for env in envs: experiment.set_env(env) if config.get_current_exp_cfg().environment_cfg.env_type == 'unity': break
def test_record_recordsParameters_multipleSavesOverwrites(self): config = Configuration(test_flag=True) session_id = Experiment(config).get_session_id() experiments_path = config.get_app_experiments_path(train_mode=False) model = 'model123' header = ['episode', 'step', 'action', 'reward'] recorder = Recorder(header=header, experiments_path=experiments_path, session_id=session_id, model=model, configuration=config.get_current_exp_cfg()) header_result = recorder.get_header() assert all([a == b for a, b in zip(header, header_result)]) parameters1 = [1, 1, 0, 0] parameters2 = [1, 2, 1, 0] parameters3 = [1, 3, 0, 10] # episode 1 recorder.record(parameters1) recorder.record(parameters2) recorder.record(parameters3) recorder.save() df = recorder.get_dataframe() (config, log) = recorder.load() assert df.shape[0] == log.shape[0] # episode 2 recorder.record(parameters1) recorder.record(parameters2) recorder.record(parameters3) recorder.save() df = recorder.get_dataframe() (config, log) = recorder.load() assert df.shape[0] == log.shape[0] assert config['session_id'] == session_id assert config['model'] == model
def test_playDummy_configExist_playsWithDummyAgent(self): config = Config(test=True) experiment = Experiment(config) envs = experiment.list_envs() for env in envs: experiment.set_env(env) if config.get_env_type() != 'unity': experiment.play_dummy(mode='rgb-array', model=None, num_episodes=3, num_steps=10)
def test_train_configExist_canTrain1Episode(self): config = Config(test=True) experiment = Experiment(config) envs = experiment.list_envs() for env in envs: experiment.set_env(env) if config.get_env_type() != 'unity': max_steps = 128 max_episode_steps = 2 scores = experiment.train(max_steps=max_steps, eval_frequency=16, eval_steps=4, max_episode_steps=max_episode_steps) assert len(scores) == max_steps / max_episode_steps