Exemple #1
0
    def __init__(self, info):
        super(APPNPNet, self).__init__()

        self.info = info

        self.best_score = 0
        self.hist_score = []

        self.best_preds = None
        self.current_round_best_preds = None
        self.best_valid_score = 0
        self.max_patience = 100
        self.max_epochs = 1600

        self.name = 'APPNP'

        self.hyperparameters = {
            'num_layers': self.info['num_layers'],
            'lr': 0.005,
            'K': 10,
            'alpha': 0.15,
            'dropedge_rate': self.info['dropedge_rate'],
            'dropout_rate': self.info['dropout_rate'],
            'hidden': self.info['init_hidden_size']
        }
        self.best_hp = None
        self.tuner = HyperoptTuner(algorithm_name='tpe',
                                   optimize_mode='maximize')
        search_space = {
            "dropedge_rate": {
                "_type": "uniform",
                "_value": [0, 1]
            },
            "dropout_rate": {
                "_type": "uniform",
                "_value": [0, 1]
            },
            "num_layers": {
                "_type": "randint",
                "_value": [2, 3]
            },
            "hidden": {
                "_type": "quniform",
                "_value": [4, 7, 1]
            },
            "lr": {
                "_type": "choice",
                "_value": [self.info['lr']]
            },
            'K': {
                "_type": "quniform",
                "_value": [1, 6, 1]
            },
            'alpha': {
                "_type": "uniform",
                "_value": [0, 1]
            }
        }
        self.tuner.update_search_space(search_space)
Exemple #2
0
 def test_tpe(self):
     tuner_fn = lambda: HyperoptTuner("tpe")
     self.search_space_test_all(tuner_fn,
                                ignore_types=[
                                    "uniform_equal", "qloguniform_equal",
                                    "loguniform_equal", "quniform_clip_2"
                                ])
     # NOTE: types are ignored because `tpe.py line 465, in adaptive_parzen_normal assert prior_sigma > 0`
     self.import_data_test(tuner_fn)
Exemple #3
0
    def __init__(self, info):
        super(TAG, self).__init__()

        self.info = info
        self.hyperparameters = {
            'num_layers': self.info['num_layers'],
            'lr': self.info['lr'],
            'dropedge_rate': self.info['dropedge_rate'],
            'dropout_rate': self.info['dropout_rate'],
            'K': 3,
            'hidden': self.info['init_hidden_size'],
            'use_linear': self.info['use_linear']
        }

        self.best_score = 0
        self.hist_score = []
        self.best_preds = None
        self.current_round_best_preds = None
        self.best_valid_score = 0
        self.max_patience = 100
        self.max_epochs = 1600

        self.name = 'TAG'
        self.best_hp = None
        self.tuner = HyperoptTuner(algorithm_name='tpe',
                                   optimize_mode='maximize')
        search_space = {
            "dropedge_rate": {
                "_type": "choice",
                "_value": [self.info['dropedge_rate']]
            },
            "dropout_rate": {
                "_type": "choice",
                "_value": [self.info['dropout_rate']]
            },
            "num_layers": {
                "_type": "quniform",
                "_value": [1, 3, 1]
            },
            "hidden": {
                "_type": "quniform",
                "_value": [4, 7, 1]
            },
            "lr": {
                "_type": "choice",
                "_value": [0.005]
            },
            'K': {
                "_type": "quniform",
                "_value": [1, 6, 1]
            },
            "use_linear": {
                "_type": "choice",
                "_value": [True, False]
            }
        }
        self.tuner.update_search_space(search_space)
Exemple #4
0
 def test_tuner_generate(self):
     for algorithm in ["tpe", "random_search", "anneal"]:
         tuner = HyperoptTuner(algorithm)
         choice_list = ["a", "b", 1, 2]
         tuner.update_search_space({
             "a": {
                 "_type": "randint",
                 "_value": [1, 3]
             },
             "b": {
                 "_type": "choice",
                 "_value": choice_list
             }
         })
         for k in range(30):
             # sample multiple times
             param = tuner.generate_parameters(k)
             print(param)
             self.assertIsInstance(param["a"], int)
             self.assertGreaterEqual(param["a"], 1)
             self.assertLessEqual(param["a"], 2)
             self.assertIn(param["b"], choice_list)
Exemple #5
0
 def test_anneal(self):
     tuner_fn = lambda: HyperoptTuner("anneal")
     self.search_space_test_all(tuner_fn)
     self.import_data_test(tuner_fn)
Exemple #6
0
 def test_random_search(self):
     tuner_fn = lambda: HyperoptTuner("random_search")
     self.search_space_test_all(tuner_fn)
     self.import_data_test(tuner_fn)
Exemple #7
0
 def test_anneal(self):
     self.search_space_test_all(lambda: HyperoptTuner("anneal"))
Exemple #8
0
 def test_random_search(self):
     self.search_space_test_all(lambda: HyperoptTuner("random_search"))
Exemple #9
0
 def test_tpe(self):
     self.search_space_test_all(lambda: HyperoptTuner("tpe"))
Exemple #10
0
 def test_tpe(self):
     self.search_space_test_all(lambda: HyperoptTuner("tpe"),
                                ignore_types=[
                                    "uniform_equal", "qloguniform_equal",
                                    "loguniform_equal", "quniform_clip_2"
                                ])