Пример #1
0
 def __init__(self, vggModelPath='module/vgg16_weights.npz', modelPath=None, load = True):
     self._fg = feature_generator.FeatureGenerator(vggModelPath)
     if (not modelPath is None) and (load is True):
         self._model = tf.keras.models.load_model(modelPath)
     else:
         self._model = None
     self._modelPath = modelPath
	def compute_min(self):
		import feature_generator as fg
		fg = fg.FeatureGenerator(self.num_features)
		max_value = np.inf
		max_num_vec = []
		for num in range(2**self.num_features):
			num_vec = np.array([fg.get_binary(num, self.num_features)], dtype=np.int32)
			print(num_vec) 
			value = self.run(num_vec)
			if(value < max_value):
				max_value = value
				max_num_vec = num_vec
		return max_value, max_num_vec
Пример #3
0
def main(yaml_file_path):
    with open(yaml_file_path, 'r') as f:
        configs = yaml.load(f)

    logging.debug(str(configs))

    json_path = ("{}\\{}").format(configs['directory_json_location'],
                                  configs['json_file_name'])
    logging.debug(json_path)

    with open(json_path, 'r') as f:
        pic_listings = json.load(f)

    feature_generator = fg.FeatureGenerator(configs, pic_listings)
    feature_pic_listing = feature_generator.generate_features()

    with open('pics_features\\features_' + str(time.time()) + '.json',
              'w') as f:
        json.dump(feature_pic_listing, f)
	def run(self, feature_vector):
		x = feature_vector
		'''
		if(x.ndim != 1):
			print("ERROR in dimension ", x.ndim)
			return -1
		#model_val = (x.dot(self.Q)*x).sum() # compute x^TQx row-wise
		'''
		model_val = (x.dot(self.Q)*x).sum() # compute x^TQx row-wise
		penalty  = self.lam*np.sum(x)
		return (model_val - penalty)

	def run_list(self, feature_vector):
		x = feature_vector
#		model_val = (x.dot(self.Q)*x).sum(axis=1) # compute x^TQx row-wise
		model_val = (x.dot(self.Q)*x).sum(axis=1) # compute x^TQx row-wise
		penalty  = self.lam*np.sum(x,axis=1)
		return (model_val - penalty)

if __name__=="__main__":
	num_features = 10
	x1 = fg.FeatureGenerator(num_features).generate_n_random_feature(1)
	x = fg.FeatureGenerator(num_features).generate_n_random_feature(3)
	suc_vec = fg.FeatureGenerator(num_features).generate_successor_graph(x[0])
	for i in [100]:
		for j in [1e-4]:
			sim = BPQ_Sim(num_features, i, j)
			print(sim.compute_min())
			print(sim.run(np.array([0, 1, 1, 1, 1, 1, 1, 1, 1, 1])[np.newaxis, :]))
Пример #5
0
        #     self.func_list[self.func_name](scaled_feature_vector),
        #     self.feature_restriction)
        return self.func_list[self.func_name](scaled_feature_vector)

    def run_list(self, feature_vector_list):
        y_out_list = []
        for feature_vector in feature_vector_list:
            y_out_list.append(self.run(feature_vector))

        return np.array(y_out_list)


if __name__ == "__main__":
    import feature_generator as fg
    sim = Simulator("borehole", True, 100, 1)
    x = fg.FeatureGenerator(sim).generate_n_random_feature(3)
    print(x)
    print(sim.run_list(x))
    sim = Simulator("univariate", True, 10, 10)
    x = fg.FeatureGenerator(sim).generate_n_random_feature(3)
    print(x)
    print(sim.run_list(x))

    sim = Simulator("univariate", True, 2, 6)
    fg1 = fg.FeatureGenerator(sim)
    x = fg1.generate_n_random_feature(3)
    print(x)
    print(sim.run_list(x))
    for x1 in x:
        print(sim.get_continous_value(x1, 0) * 64)
Пример #6
0
import feature_generator
import random
import cv2
import numpy as np
import tensorflow as tf
import tqdm
import logging
import perspective_param_generator
import os
import openimg

fg = feature_generator.FeatureGenerator("module/vgg16_weights.npz")

img1 = openimg.OpenImage("./images/1.jpeg", False)
img2 = openimg.OpenImage("./images/2.jpeg", False)
img3 = openimg.OpenImage("./images/3.jpeg", False)

w1, h1, _ = img1.shape
w2, h2, _ = img2.shape
w3, h3, _ = img3.shape

o, n, H, HL, HV = perspective_param_generator.GenerateRandomPerspectiveTransform(
    [100, 100], 224, 0.3)
img_t = cv2.warpPerspective(img1, HV, dsize=(h1, w1))
piece = img1[o[0][0]:o[2][0], o[0][1]:o[1][1]]
piece_t = img_t[o[0][0]:o[2][0], o[0][1]:o[1][1]]

print(piece.shape)
baseFeature = fg.MakeFeature(piece)
subFeature = fg.MakeFeature(piece_t)
feature = fg.MakeDiffFeature(baseFeature, subFeature)