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
Example #2
0
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
Example #4
0
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)
Example #5
0
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
Example #6
0
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
Example #7
0
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
Example #8
0
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
Example #11
0
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
Example #12
0
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
Example #13
0
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