def distance_director_euclidean_modular(fm_train_real=traindat, fm_test_real=testdat, scale=1.2): from shogun.Distance import EuclideanDistance from modshogun import Time feats_train = RealFeatures(fm_train_real) feats_train.io.set_loglevel(0) feats_train.parallel.set_num_threads(1) feats_test = RealFeatures(fm_test_real) distance = EuclideanDistance() distance.init(feats_train, feats_test) ddistance = DirectorEuclideanDistance() ddistance.init(feats_train, feats_test) print "dm_train" t = Time() dm_train = distance.get_distance_matrix() t1 = t.cur_time_diff(True) print "ddm_train" t = Time() ddm_train = ddistance.get_distance_matrix() t2 = t.cur_time_diff(True) print "dm_train", dm_train print "ddm_train", ddm_train return dm_train, ddm_train
def kernel_director_linear_modular(fm_train_real=traindat, fm_test_real=testdat, scale=1.2): from shogun.Kernel import LinearKernel, AvgDiagKernelNormalizer from modshogun import Time feats_train = RealFeatures(fm_train_real) feats_train.io.set_loglevel(0) feats_train.parallel.set_num_threads(1) feats_test = RealFeatures(fm_test_real) kernel = LinearKernel() kernel.set_normalizer(AvgDiagKernelNormalizer(scale)) kernel.init(feats_train, feats_train) dkernel = DirectorLinearKernel() dkernel.set_normalizer(AvgDiagKernelNormalizer(scale)) dkernel.init(feats_train, feats_train) print "km_train" t = Time() km_train = kernel.get_kernel_matrix() t1 = t.cur_time_diff(True) print "dkm_train" t = Time() dkm_train = dkernel.get_kernel_matrix() t2 = t.cur_time_diff(True) print "km_train", km_train print "dkm_train", dkm_train return km_train, dkm_train
def distance_director_euclidean_modular(fm_train_real=traindat, fm_test_real=testdat, scale=1.2): from shogun.Distance import EuclideanDistance from modshogun import Time feats_train = RealFeatures(fm_train_real) feats_train.io.set_loglevel(0) feats_train.parallel.set_num_threads(1) feats_test = RealFeatures(fm_test_real) distance = EuclideanDistance() distance.init(feats_train, feats_test) ddistance = DirectorEuclideanDistance() ddistance.init(feats_train, feats_test) print "dm_train" t = Time() dm_train = distance.get_distance_matrix() t1 = t.cur_time_diff(True) print "ddm_train" t = Time() ddm_train = ddistance.get_distance_matrix() t2 = t.cur_time_diff(True) print "dm_train", dm_train print "ddm_train", ddm_train return dm_train, ddm_train
def kernel_director_linear_modular (fm_train_real=traindat,fm_test_real=testdat,scale=1.2): from shogun.Kernel import LinearKernel, AvgDiagKernelNormalizer from modshogun import Time feats_train=RealFeatures(fm_train_real) feats_train.io.set_loglevel(0) feats_train.parallel.set_num_threads(1) feats_test=RealFeatures(fm_test_real) kernel=LinearKernel() kernel.set_normalizer(AvgDiagKernelNormalizer(scale)) kernel.init(feats_train, feats_train) dkernel=DirectorLinearKernel() dkernel.set_normalizer(AvgDiagKernelNormalizer(scale)) dkernel.init(feats_train, feats_train) print "km_train" t=Time() km_train=kernel.get_kernel_matrix() t1=t.cur_time_diff(True) print "dkm_train" t=Time() dkm_train=dkernel.get_kernel_matrix() t2=t.cur_time_diff(True) print "km_train", km_train print "dkm_train", dkm_train return km_train, dkm_train
def kernel_director_linear_modular (fm_train_real=traindat,fm_test_real=testdat,scale=1.2): try: from shogun.Kernel import DirectorKernel except ImportError: print "recompile shogun with --enable-swig-directors" return class DirectorLinearKernel(DirectorKernel): def __init__(self): DirectorKernel.__init__(self, True) def kernel_function(self, idx_a, idx_b): seq1 = self.get_lhs().get_feature_vector(idx_a) seq2 = self.get_rhs().get_feature_vector(idx_b) return numpy.dot(seq1, seq2) from shogun.Kernel import LinearKernel, AvgDiagKernelNormalizer from modshogun import Time feats_train=RealFeatures(fm_train_real) feats_train.io.set_loglevel(0) feats_train.parallel.set_num_threads(1) feats_test=RealFeatures(fm_test_real) kernel=LinearKernel() kernel.set_normalizer(AvgDiagKernelNormalizer(scale)) kernel.init(feats_train, feats_train) dkernel=DirectorLinearKernel() dkernel.set_normalizer(AvgDiagKernelNormalizer(scale)) dkernel.init(feats_train, feats_train) #print "km_train" t=Time() km_train=kernel.get_kernel_matrix() t1=t.cur_time_diff(True) #print "dkm_train" t=Time() dkm_train=dkernel.get_kernel_matrix() t2=t.cur_time_diff(True) #print "km_train", km_train #print "dkm_train", dkm_train return km_train, dkm_train
def distance_director_euclidean_modular (fm_train_real=traindat,fm_test_real=testdat,scale=1.2): try: from shogun.Distance import DirectorDistance except ImportError: print "recompile shogun with --enable-swig-directors" return class DirectorEuclideanDistance(DirectorDistance): def __init__(self): DirectorDistance.__init__(self, True) def distance_function(self, idx_a, idx_b): seq1 = self.get_lhs().get_feature_vector(idx_a) seq2 = self.get_rhs().get_feature_vector(idx_b) return numpy.linalg.norm(seq1-seq2) from shogun.Distance import EuclideanDistance from modshogun import Time feats_train=RealFeatures(fm_train_real) feats_train.io.set_loglevel(0) feats_train.parallel.set_num_threads(1) feats_test=RealFeatures(fm_test_real) distance=EuclideanDistance() distance.init(feats_train, feats_test) ddistance=DirectorEuclideanDistance() ddistance.init(feats_train, feats_test) print "dm_train" t=Time() dm_train=distance.get_distance_matrix() t1=t.cur_time_diff(True) print "ddm_train" t=Time() ddm_train=ddistance.get_distance_matrix() t2=t.cur_time_diff(True) print "dm_train", dm_train print "ddm_train", ddm_train return dm_train, ddm_train
def library_time (sleep_secs): # measure wall clock time difference t=Time() time.sleep(sleep_secs) diff=t.cur_time_diff() # measure CPU time required cpu_diff=t.cur_runtime_diff_sec() # return results as integers to enable testing return round(diff),round(cpu_diff)
def library_time (sleep_secs): # measure wall clock time difference t=Time() time.sleep(sleep_secs) diff=t.cur_time_diff() # measure CPU time required cpu_diff=t.cur_runtime_diff_sec() # wall clock time should be above sleep_secs # but cpu time should be tiny #print diff, cpu_diff return diff>sleep_secs, cpu_diff<0.5
def library_time(sleep_secs): # measure wall clock time difference t = Time() time.sleep(sleep_secs) diff = t.cur_time_diff() # measure CPU time required cpu_diff = t.cur_runtime_diff_sec() # wall clock time should be above sleep_secs # but cpu time should be tiny #print diff, cpu_diff return diff > sleep_secs, cpu_diff < 0.5