Exemplo n.º 1
0
    def test_bruteforce_driver_2d(self):
        from ctree.tune import BruteForceTuningDriver, IntegerParameter, MinimizeTime

        params = [IntegerParameter("foo", 0, 10), IntegerParameter("bar", 0, 10)]
        driver = BruteForceTuningDriver(params, MinimizeTime())

        unsearched = set(range(0, 100))
        for config in islice(driver.configs, 100):
            entry = config["foo"] * 10 + config["bar"]
            unsearched.remove(entry)
            driver.report(time=0.4)
        self.assertSetEqual(unsearched, set())
Exemplo n.º 2
0
    def test_bruteforce_driver_1d(self):
        from ctree.tune import BruteForceTuningDriver, IntegerParameter, MinimizeTime

        objective = MinimizeTime()
        params = [IntegerParameter("foo", 0, 100)]
        driver = BruteForceTuningDriver(params, objective)

        unsearched = set(range(0, 100))
        for config in islice(driver.configs, 100):
            unsearched.remove(config["foo"])
            driver.report(time=0.4)
        self.assertSetEqual(unsearched, set())
Exemplo n.º 3
0
    def test_bruteforce_driver_2d_parabola(self):
        from ctree.tune import BruteForceTuningDriver, IntegerParameter, MinimizeTime

        params = [IntegerParameter("x", 0, 10), IntegerParameter("y", 0, 10)]
        driver = BruteForceTuningDriver(params, MinimizeTime())

        for config in islice(driver.configs, 100):
            # report height on inverted paraboloid with global min at (3,4)
            x, y = config["x"], config["y"]
            z = (x - 3) ** 2 + (y - 4) ** 2 + 1
            driver.report(time=z)

        for config in islice(driver.configs, 10):
            self.assertEqual((config["x"], config["y"]), (3, 4))
Exemplo n.º 4
0
    def test_bruteforce_driver_1d(self):
        from ctree.tune import (
            BruteForceTuningDriver,
            IntegerParameter,
            MinimizeTime,
        )

        objective = MinimizeTime()
        params = [IntegerParameter("foo", 0, 100)]
        driver = BruteForceTuningDriver(params, objective)

        unsearched = set(range(0, 100))
        for config in islice(driver.configs, 100):
            unsearched.remove(config["foo"])
            driver.report(time=0.4)
        self.assertSetEqual(unsearched, set())
Exemplo n.º 5
0
    def get_tuning_driver(self):
        from ctree.tune import (BruteForceTuningDriver, IntegerParameter,
                                MinimizeTime)

        params = [
            IntegerParameter("block_factor", 4, 8),
            IntegerParameter("unroll_factor", 1, 4)
        ]
        return BruteForceTuningDriver(params, MinimizeTime())
Exemplo n.º 6
0
    def test_bruteforce_driver_2d(self):
        from ctree.tune import (
            BruteForceTuningDriver,
            IntegerParameter,
            MinimizeTime,
        )

        params = [
            IntegerParameter("foo", 0, 10),
            IntegerParameter("bar", 0, 10),
        ]
        driver = BruteForceTuningDriver(params, MinimizeTime())

        unsearched = set(range(0, 100))
        for config in islice(driver.configs, 100):
            entry = config["foo"] * 10 + config["bar"]
            unsearched.remove(entry)
            driver.report(time=0.4)
        self.assertSetEqual(unsearched, set())
Exemplo n.º 7
0
    def test_bruteforce_driver_2d_parabola(self):
        from ctree.tune import (
            BruteForceTuningDriver,
            IntegerParameter,
            MinimizeTime,
        )

        params = [
            IntegerParameter("x", 0, 10),
            IntegerParameter("y", 0, 10),
        ]
        driver = BruteForceTuningDriver(params, MinimizeTime())

        for config in islice(driver.configs, 100):
            # report height on inverted paraboloid with global min at (3,4)
            x, y = config["x"], config["y"]
            z = (x-3)**2 + (y-4)**2 + 1
            driver.report(time=z)

        for config in islice(driver.configs, 10):
            self.assertEqual((config["x"], config["y"]), (3, 4))
Exemplo n.º 8
0
    def test_bruteforce_driver_other_params(self):
        from ctree.tune import (
            BruteForceTuningDriver,
            IntegerParameter,
            BooleanParameter,
            EnumParameter,
            MinimizeTime,
        )

        params = [
            IntegerParameter("foo", 0, 10),
            BooleanParameter("bar"),
            EnumParameter("baz", ['monty', 'python', 'rocks']),
        ]
        driver = BruteForceTuningDriver(params, MinimizeTime())

        nConfigs = 10*2*3
        configs = list(islice(driver.configs, nConfigs))
        self.assertEqual(len(configs), nConfigs)