Beispiel #1
0
    def test_initialize_engines(self):

        function = mock.Mock()
        mock_msi = Model('test', function)
        msis = {mock_msi.name: mock_msi}

        mock_client = mock.create_autospec(ipyparallel.Client)
        mock_client.ids = [0, 1]  # pretend we have two engines
        mock_view = mock.create_autospec(
            ipyparallel.client.view.View)  #@ @UndefinedVariable
        mock_client.__getitem__.return_value = mock_view

        cwd = '.'
        ema.initialize_engines(mock_client, msis, cwd)

        mock_view.apply_sync.assert_any_call(ema._initialize_engine, 0, msis,
                                             cwd)
        mock_view.apply_sync.assert_any_call(ema._initialize_engine, 1, msis,
                                             cwd)
    def test_copy_wds_for_msis(self, mock_os, mock_shutil):
        mock_os.path.join.return_value = '.'

        function = mock.Mock()
        mock_msi = Model('test', function)

        msis = {mock_msi.name: mock_msi}
        engine_id = 0
        engine = ema.Engine(engine_id, msis)
        engine.root_dir = '/dir_name'

        dirs_to_copy = ['/test']
        wd_by_msi = {'/test': [mock_msi.name]}
        engine.copy_wds_for_msis(dirs_to_copy, wd_by_msi)

        mock_os.path.basename.called_once_with(dirs_to_copy[0])
        mock_os.path.join.called_once_with('/dir_name', dirs_to_copy[0])
        mock_shutil.copytree.assert_called_once_with('/test', '.')
        self.assertEqual('.', mock_msi.working_directory)
Beispiel #3
0
    def test_run_experiment(self):

        function = mock.Mock()
        mock_msi = Model('test', function)
        mock_runner = mock.create_autospec(experiment_runner.ExperimentRunner)

        msis = [mock_msi]
        engine_id = 0
        engine = ema.Engine(engine_id, msis, '.')
        engine.runner = mock_runner

        experiment = {'a': 1}
        engine.run_experiment(experiment)

        mock_runner.run_experiment.assert_called_once_with(experiment)

        mock_runner.run_experiment.side_effect = EMAError
        self.assertRaises(EMAError, engine.run_experiment, experiment)

        mock_runner.run_experiment.side_effect = Exception
        self.assertRaises(EMAParallelError, engine.run_experiment, experiment)
Beispiel #4
0
            minimize = 1

        outcome = outcomes[entry]
        mean_performance = minimize * np.mean(outcome)
        std_performance = np.std(outcome)
        objs.append(float(mean_performance))
        objs.append(float(std_performance))

    return objs


if __name__ == '__main__':
    ema_logging.log_to_stderr(ema_logging.INFO)

    #instantiate the model
    model = Model('lakeproblem', function=lake_problem)

    #specify uncertainties
    model.uncertainties = [
        RealParameter("b", 0.1, 0.45),
        RealParameter("q", 2.0, 4.5),
        RealParameter("mean", 0.01, 0.05),
        RealParameter("stdev", 0.001, 0.005),
        RealParameter("delta", 0.93, 0.99)
    ]
    #specify outcomes
    model.outcomes = [
        ScalarOutcome("max_P", ),
        ScalarOutcome("utility"),
        ScalarOutcome("inertia"),
        ScalarOutcome("reliability")