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 track_execution(): LOGGER.info('Starting training.') timer = Time() yield timer.stop() LOGGER.info('Training completed, took {0:.2f}s.'.format( timer.time_diff_sec()))
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 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
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(MSG_DEBUG) 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 modshogun 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 modshogun import EuclideanDistance from modshogun import Time feats_train = RealFeatures(fm_train_real) #feats_train.io.set_loglevel(MSG_DEBUG) 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): 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 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 track_execution(): LOGGER.info('Starting training.') timer = Time() yield timer.stop() LOGGER.info('Training completed, took {0:.2f}s.'.format(timer.time_diff_sec()))
from modshogun import Time from numpy import array args = parse_arguments() print 'Loading training data...' sparse_data = load_sparse_data(args.dataset,args.dimension) kernel_params = array([args.width], dtype=float) rf_feats = RandomFourierDotFeatures(sparse_data['data'], args.D, GAUSSIAN, kernel_params) svm = SVMOcas(args.C, rf_feats, sparse_data['labels']) svm.set_epsilon(args.epsilon) print 'Starting training.' timer = Time() svm.train() timer.stop() print 'Training completed, took {0:.2f}s.'.format(timer.time_diff_sec()) predicted_labels = svm.apply() evaluate(predicted_labels, sparse_data['labels'], 'Training results') if args.testset!=None: random_coef = rf_feats.get_random_coefficients() # removing current dataset from memory in order to load the test dataset, # to avoid running out of memory rf_feats = None svm.set_features(None) svm.set_labels(None) sparse_data = None
from modshogun import Time from numpy import array args = parse_arguments() print 'Loading training data...' sparse_data = load_sparse_data(args.dataset, args.dimension) kernel_params = array([args.width], dtype=float) rf_feats = RandomFourierDotFeatures(sparse_data['data'], args.D, GAUSSIAN, kernel_params) svm = SVMOcas(args.C, rf_feats, sparse_data['labels']) svm.set_epsilon(args.epsilon) print 'Starting training.' timer = Time() svm.train() timer.stop() print 'Training completed, took {0:.2f}s.'.format(timer.time_diff_sec()) predicted_labels = svm.apply() evaluate(predicted_labels, sparse_data['labels'], 'Training results') if args.testset != None: random_coef = rf_feats.get_random_coefficients() # removing current dataset from memory in order to load the test dataset, # to avoid running out of memory rf_feats = None svm.set_features(None) svm.set_labels(None) sparse_data = None