|
|
@@ -39,7 +39,7 @@ class Treelet(GraphKernel): |
|
|
|
def _compute_gm_series(self): |
|
|
|
self.__add_dummy_labels(self._graphs) |
|
|
|
|
|
|
|
# get all canonical keys of all graphs before calculating kernels to save |
|
|
|
# get all canonical keys of all graphs before computing kernels to save |
|
|
|
# time, but this may cost a lot of memory for large dataset. |
|
|
|
canonkeys = [] |
|
|
|
if self._verbose >= 2: |
|
|
@@ -55,7 +55,7 @@ class Treelet(GraphKernel): |
|
|
|
from itertools import combinations_with_replacement |
|
|
|
itr = combinations_with_replacement(range(0, len(self._graphs)), 2) |
|
|
|
if self._verbose >= 2: |
|
|
|
iterator = tqdm(itr, desc='calculating kernels', file=sys.stdout) |
|
|
|
iterator = tqdm(itr, desc='Computing kernels', file=sys.stdout) |
|
|
|
else: |
|
|
|
iterator = itr |
|
|
|
for i, j in iterator: |
|
|
@@ -69,7 +69,7 @@ class Treelet(GraphKernel): |
|
|
|
def _compute_gm_imap_unordered(self): |
|
|
|
self.__add_dummy_labels(self._graphs) |
|
|
|
|
|
|
|
# get all canonical keys of all graphs before calculating kernels to save |
|
|
|
# get all canonical keys of all graphs before computing kernels to save |
|
|
|
# time, but this may cost a lot of memory for large dataset. |
|
|
|
pool = Pool(self._n_jobs) |
|
|
|
itr = zip(self._graphs, range(0, len(self._graphs))) |
|
|
@@ -105,7 +105,7 @@ class Treelet(GraphKernel): |
|
|
|
def _compute_kernel_list_series(self, g1, g_list): |
|
|
|
self.__add_dummy_labels(g_list + [g1]) |
|
|
|
|
|
|
|
# get all canonical keys of all graphs before calculating kernels to save |
|
|
|
# get all canonical keys of all graphs before computing kernels to save |
|
|
|
# time, but this may cost a lot of memory for large dataset. |
|
|
|
canonkeys_1 = self.__get_canonkeys(g1) |
|
|
|
canonkeys_list = [] |
|
|
@@ -119,7 +119,7 @@ class Treelet(GraphKernel): |
|
|
|
# compute kernel list. |
|
|
|
kernel_list = [None] * len(g_list) |
|
|
|
if self._verbose >= 2: |
|
|
|
iterator = tqdm(range(len(g_list)), desc='calculating kernels', file=sys.stdout) |
|
|
|
iterator = tqdm(range(len(g_list)), desc='Computing kernels', file=sys.stdout) |
|
|
|
else: |
|
|
|
iterator = range(len(g_list)) |
|
|
|
for i in iterator: |
|
|
@@ -132,7 +132,7 @@ class Treelet(GraphKernel): |
|
|
|
def _compute_kernel_list_imap_unordered(self, g1, g_list): |
|
|
|
self.__add_dummy_labels(g_list + [g1]) |
|
|
|
|
|
|
|
# get all canonical keys of all graphs before calculating kernels to save |
|
|
|
# get all canonical keys of all graphs before computing kernels to save |
|
|
|
# time, but this may cost a lot of memory for large dataset. |
|
|
|
canonkeys_1 = self.__get_canonkeys(g1) |
|
|
|
canonkeys_list = [[] for _ in range(len(g_list))] |
|
|
@@ -167,7 +167,7 @@ class Treelet(GraphKernel): |
|
|
|
len_itr = len(g_list) |
|
|
|
parallel_me(do_fun, func_assign, kernel_list, itr, len_itr=len_itr, |
|
|
|
init_worker=init_worker, glbv=(canonkeys_1, canonkeys_list), method='imap_unordered', |
|
|
|
n_jobs=self._n_jobs, itr_desc='calculating kernels', verbose=self._verbose) |
|
|
|
n_jobs=self._n_jobs, itr_desc='Computing kernels', verbose=self._verbose) |
|
|
|
|
|
|
|
return kernel_list |
|
|
|
|
|
|
@@ -185,7 +185,7 @@ class Treelet(GraphKernel): |
|
|
|
|
|
|
|
|
|
|
|
def __kernel_do(self, canonkey1, canonkey2): |
|
|
|
"""Calculate treelet graph kernel between 2 graphs. |
|
|
|
"""Compute treelet graph kernel between 2 graphs. |
|
|
|
|
|
|
|
Parameters |
|
|
|
---------- |
|
|
|