예제 #1
0
class CorePy(object):
    def __init__(self, path, predictorType):
        super(CorePy, self).__init__()
        self.image = ImageFactory()
        self.path = path
        if predictorType == "kppv":
            self.predictor = Kppv()
        # elif predictorType == "mlp":
        #    self.predictor = Mlp()
        else:
            self.predictor = None
        self.max_distance = 0

    def setImage(self, path_to_image):
        self.image.initialize(path_to_image)

    def predict_current(self):
        predicted_classes, result = np.zeros((len(self.image.feature_list), 2)), 0
        for x in range(0,len(self.image.feature_list)):
            predicted_classes[x], distance = self.predictor.predict(self.image.feature_list[x])
            result += predicted_classes[x]
            if distance >= 0:
                self.max_distance = max(self.max_distance, distance)
        self.image.class_list = predicted_classes
        pass

    def train_predictor(self):
        self.predictor.train(self.image.feature_list, self.image.class_list)
예제 #2
0
class CorePy(object):
    def __init__(self, path, predictorType):
        super(CorePy, self).__init__()
        self.image = ImageFactory()
        self.path = path
        if predictorType == "kppv":
            self.predictor = Kppv()
        # elif predictorType == "mlp":
        #    self.predictor = Mlp()
        else:
            self.predictor = None
        self.max_distance = 0

    def setImage(self, path_to_image):
        self.image.initialize(path_to_image)

    def predict_current(self):
        predicted_classes, result = np.zeros(
            (len(self.image.feature_list), 2)), 0
        for x in range(0, len(self.image.feature_list)):
            predicted_classes[x], distance = self.predictor.predict(
                self.image.feature_list[x])
            result += predicted_classes[x]
            if distance >= 0:
                self.max_distance = max(self.max_distance, distance)
        self.image.class_list = predicted_classes
        pass

    def train_predictor(self):
        self.predictor.train(self.image.feature_list, self.image.class_list)
예제 #3
0
 def __init__(self, path, predictorType):
     super(CorePy, self).__init__()
     self.image = ImageFactory()
     self.path = path
     if predictorType == "kppv":
         self.predictor = Kppv()
     # elif predictorType == "mlp":
     #    self.predictor = Mlp()
     else:
         self.predictor = None
     self.max_distance = 0
예제 #4
0
 def __init__(self, url):
     self.log = logging.getLogger('%s.%s' %
                                  (__name__, self.__class__.__name__))
     self._managedObjects = {}
     self.session = None
     # create a connection and connect to qpidd
     # TODO: (redmine 277) - Make this use actual amqp:// urls... currently, only host works
     self.connection = cqpid.Connection(url, "{reconnect:True}")
     self.connection.open()
     # Create, configure, and open a QMFv2 agent session using the connection.
     self.session = AgentSession(self.connection)
     self.session.setVendor("redhat.com")
     self.session.setProduct("imagefactory")
     self.session.open()
     # Initialize the parent class with the session.
     AgentHandler.__init__(self, self.session)
     # Register our schemata with the agent session.
     self.session.registerSchema(ImageFactory.qmf_schema)
     self.session.registerSchema(BuildAdaptor.qmf_schema)
     self.session.registerSchema(BuildAdaptor.qmf_event_schema_status)
     self.session.registerSchema(BuildAdaptor.qmf_event_schema_percentage)
     self.session.registerSchema(BuildAdaptor.qmf_event_schema_build_failed)
     # Now add the image factory object
     self.image_factory = ImageFactory()
     self.image_factory.agent = self
     self.image_factory_addr = self.session.addData(
         self.image_factory.qmf_object, "image_factory")
     self.log.info("image_factory has qmf/qpid address: %s",
                   self.image_factory_addr)
예제 #5
0
def resize_image_in_folder(path):
    if os.path.isfile(path):
        if is_deal(path):
            return;
        imageFactory = ImageFactory("");
        try:
            imageFactory.getThumbByCut(232, 93, path, "_232x93");
            imageFactory.getThumbByCut(80, 80, path, "_80x80");
        except:
            pass;
    elif os.path.isdir(path):
        files = os.listdir(path);
        for imageFile in files:
            resize_image_in_folder(path + "/" + imageFile);
    else:
        print("the given path is not a folder or a file :%s"%path);
예제 #6
0
def getContentBoxesWorker(socketID, filename):
    # instantiate a publisher (send to nodejs server)
    context = zmq.Context()
    socket = context.socket(zmq.PUB)
    socket.bind("tcp://127.0.0.1:5556")
    # msg["socketID"] is clientID, msg["filename"] is path
    Im = ImageFactory()
    path = "../public/" + filename
    Im.initialize(path)
    # initialize class_list
    Im.class_list = np.zeros((len(Im.feature_list), 2))
    for x in range(0, len(Im.feature_list)):
        Im.class_list[x][0] = 1.0
    # create JSON string before ...
    json_string = '{"socketID":"' + socketID + '", "contentBoxes" :' + tojson([Im.content_list, Im.class_list]) + "}"
    socket.send_string(json_string)
    pass
def run():
    prepare_directories()

    download_file()

    image_factory = ImageFactory(resize=256, crop=224)

    print("Formatting train set")
    format_set("train", TRAIN_FILE, image_factory)
    print("Formatting val set")
    format_set("val", VAL_FILE, image_factory)
예제 #8
0
 def __init__(self, path, predictorType):
     super(CorePy, self).__init__()
     self.image = ImageFactory()
     self.path = path
     if predictorType == "kppv":
         self.predictor = Kppv()
     # elif predictorType == "mlp":
     #    self.predictor = Mlp()
     else:
         self.predictor = None
     self.max_distance = 0
예제 #9
0
def getContentBoxesWorker(socketID, filename):
    # instantiate a publisher (send to nodejs server)
    context = zmq.Context()
    socket = context.socket(zmq.PUB)
    socket.bind("tcp://127.0.0.1:5556")
    # msg["socketID"] is clientID, msg["filename"] is path
    Im = ImageFactory()
    path = "../public/" + filename
    Im.initialize(path)
    # initialize class_list
    Im.class_list = np.zeros((len(Im.feature_list), 2))
    for x in range(0, len(Im.feature_list)):
        Im.class_list[x][0] = 1.0
    # create JSON string before ...
    json_string = '{"socketID":"' + socketID + '", "contentBoxes" :' + tojson(
        [Im.content_list, Im.class_list]) + '}'
    socket.send_string(json_string)
    pass