def derive_from_population(self):
    population = self._construct_action(self.population)
    (best_score_index, _) = self._get_best_individual_accuracy(self.accuracies)
    best_structure = self.form_gnn_info(population[best_score_index])
    print('[DERIVE] Best Structure:', str(best_structure))
    np.random.seed(self.random_seed)
    torch.manual_seed(self.random_seed)
    torch.cuda.manual_seed_all(self.random_seed)
    test_scores_list = []
    for i in range(10):
        (val_acc, test_acc) = self.submodel_manager.evaluate(best_structure)
        test_scores_list.append(test_acc)
    print('[DERIVE] Best Results: ', best_structure, ': ', np.mean(test_scores_list), '+/-', np.std(test_scores_list))
def derive_from_population(self):
    population = self._construct_action(self.population)
    (best_score_index, _) = self._get_best_individual_accuracy(self.accuracies)
    best_structure = self.form_gnn_info(population[best_score_index])
    print('[DERIVE] Best Structure:', str(best_structure))
    np.random.seed(self.random_seed)
    torch.manual_seed(self.random_seed)
    torch.cuda.manual_seed_all(self.random_seed)
    test_scores_list = []
    for i in range(10):
        (val_acc, test_acc) = self.submodel_manager.evaluate(best_structure)
        test_scores_list.append(test_acc)
    print('[DERIVE] Best Results: ', best_structure, ': ', np.mean(test_scores_list), '+/-', np.std(test_scores_list))