| @@ -0,0 +1,74 @@ | |||
| #!/usr/bin/env python3 | |||
| # -*- coding: utf-8 -*- | |||
| """ | |||
| Created on Tue Jan 14 15:39:29 2020 | |||
| @author: ljia | |||
| """ | |||
| import multiprocessing | |||
| import functools | |||
| from gklearn.preimage.utils import generate_median_preimages_by_class | |||
| def test_median_preimage_generator(): | |||
| """MAO, Treelet, using CONSTANT, symbolic only. | |||
| """ | |||
| from gklearn.utils.kernels import polynomialkernel | |||
| # set parameters. | |||
| ds_name = 'MAO' # | |||
| mpg_options = {'fit_method': 'k-graphs', | |||
| 'init_ecc': [4, 4, 2, 1, 1, 1], # | |||
| 'ds_name': ds_name, | |||
| 'parallel': True, # False | |||
| 'time_limit_in_sec': 0, | |||
| 'max_itrs': 3, # | |||
| 'max_itrs_without_update': 3, | |||
| 'epsilon_residual': 0.01, | |||
| 'epsilon_ec': 0.1, | |||
| 'verbose': 2} | |||
| pkernel = functools.partial(polynomialkernel, d=4, c=1e+7) | |||
| kernel_options = {'name': 'Treelet', # | |||
| 'sub_kernel': pkernel, | |||
| 'parallel': 'imap_unordered', | |||
| # 'parallel': None, | |||
| 'n_jobs': multiprocessing.cpu_count(), | |||
| 'normalize': True, | |||
| 'verbose': 2} | |||
| ged_options = {'method': 'IPFP', | |||
| 'initialization_method': 'RANDOM', # 'NODE' | |||
| 'initial_solutions': 1, # 1 | |||
| 'edit_cost': 'CONSTANT', # | |||
| 'attr_distance': 'euclidean', | |||
| 'ratio_runs_from_initial_solutions': 1, | |||
| 'threads': multiprocessing.cpu_count(), | |||
| 'init_option': 'EAGER_WITHOUT_SHUFFLED_COPIES'} | |||
| mge_options = {'init_type': 'MEDOID', | |||
| 'random_inits': 10, | |||
| 'time_limit': 600, | |||
| 'verbose': 2, | |||
| 'refine': False} | |||
| save_results = True | |||
| dir_save = ds_name + '.' + kernel_options['name'] + '.symb.pytest/' | |||
| irrelevant_labels = {'node_attrs': ['x', 'y', 'z'], 'edge_labels': ['bond_stereo']} # | |||
| edge_required = False # | |||
| # print settings. | |||
| print('parameters:') | |||
| print('dataset name:', ds_name) | |||
| print('mpg_options:', mpg_options) | |||
| print('kernel_options:', kernel_options) | |||
| print('ged_options:', ged_options) | |||
| print('mge_options:', mge_options) | |||
| print('save_results:', save_results) | |||
| print('irrelevant_labels:', irrelevant_labels) | |||
| print() | |||
| # generate preimages. | |||
| for fit_method in ['k-graphs', 'expert', 'random']: | |||
| print('\n-------------------------------------') | |||
| print('fit method:', fit_method, '\n') | |||
| mpg_options['fit_method'] = fit_method | |||
| try: | |||
| generate_median_preimages_by_class(ds_name, mpg_options, kernel_options, ged_options, mge_options, save_results=save_results, save_medians=True, plot_medians=True, load_gm='auto', dir_save=dir_save, irrelevant_labels=irrelevant_labels, edge_required=edge_required, cut_range=range(0, 4)) | |||
| except Exception as exception: | |||
| assert False, exception | |||