def test_listEnvs_configExist_returnsEnvs(self):

        config = TestEnvConfig.get()
        experiment = Experiment(config)

        envs = experiment.list_envs()

        assert len(envs) > 1
Пример #2
0
    def test_listEnvs_configExist_returnsEnvs(self):

        config = Config(test=True)
        experiment = Experiment(config)

        envs = experiment.list_envs()

        assert len(envs) > 1
Пример #3
0
    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)
Пример #9
0
    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
Пример #10
0
    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
Пример #13
0
    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)
Пример #14
0
    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