def test_feedback(self):
        test_file = "test_feedback.txt"
        feedback_file = MachineLoader.feedback(machines.number_recognizer,
                                               None,
                                               file_name=test_file)
        if os.path.isfile(feedback_file):
            os.remove(feedback_file)

        data = [0] * 64
        target = [0]
        feedback = target + data
        # create file
        MachineLoader.feedback(machines.number_recognizer,
                               feedback,
                               file_name=test_file)
        # append file
        MachineLoader.feedback(machines.number_recognizer,
                               feedback,
                               file_name=test_file)

        with open(feedback_file, mode="rb") as r:
            lines = r.readlines()
            self.assertEqual(2, len(lines))

        os.remove(feedback_file)
예제 #2
0
    def post(self):
        data = self.get_arguments("data[]")
        result = ""

        feedback = Validator.validate_feedback(data)
        if len(feedback) > 0:
            MachineLoader.feedback(machines.number_recognizer, feedback)
        else:
            result = "feedback format is wrong."

        resp = {"result": result}
        self.write(resp)
예제 #3
0
    def post(self):
        data = self.get_arguments("data[]")
        result = ""

        feedback = Validator.validate_feedback(data)
        if len(feedback) > 0:
            MachineLoader.feedback(machines.number_recognizer, feedback)
        else:
            result = "feedback format is wrong."

        resp = {"result": result}
        self.write(resp)
예제 #4
0
    def post(self):
        resp = {"result": str(-1)}
        data = self.get_arguments("data[]")

        validated = Validator.validate_data(data)
        machine = MachineLoader.load(machines.number_recognizer)

        #save train data
#        with open('C:/Github/number_recognizer/train_1.txt','a') as thefile:
#            for item in validated:
#                thefile.write("%s\t" %item)
#            thefile.write("\n")

        #save target data
#        b = self.get_arguments("b")
#        with open('C:/Github/number_recognizer/target_1.txt','a') as thefile:
#            thefile.write(b[0])
#            thefile.write("\n")


        if len(validated) > 0:
            predicted = machine.predict(validated)
            resp["result"] = str(predicted[0])

        self.write(resp)
예제 #5
0
    def post(self):
        resp = {"result": str(-1)}
        data = self.get_arguments("data[]")
        new_number= self.get_arguments("new_number")
        print(new_number)

        validated = Validator.validate_data(data)
        machine = MachineLoader.load(machines.number_recognizer)

        with open('C:/git_number/number_recognizer/data_text.txt','a') as thefile:
            for item in validated:
                thefile.write("%s" % item)
            thefile.write("\n")

        with open('C:/git_number/number_recognizer/new_number.txt','a') as thefile:
            for item in new_number:
                thefile.write("%s" % item)
            thefile.write("\n")


        if len(validated) > 0:
            predicted = machine.predict(validated)
            resp["result"] = str(predicted[0])

        self.write(resp)
예제 #6
0
    def post(self):
        data = self.get_arguments("data[]")
        result = ""

        feedback = Validator.validate_feedback(data)
        if len(feedback) > 0:
            # save feedback to file
            MachineLoader.feedback(machines.number_recognizer, feedback)

            # online training
            machine = MachineLoader.load(machines.number_recognizer)
            machine.partial_fit(feedback[1:], [feedback[0]])
            MachineLoader.save(machines.number_recognizer, machine)
        else:
            result = "feedback format is wrong."

        resp = {"result": result}
        self.write(resp)
예제 #7
0
    def post(self):
        data = self.get_arguments("data[]")
        result = ""

        feedback = Validator.validate_feedback(data)
        if len(feedback) > 0:
            # save feedback to file
            MachineLoader.feedback(machines.number_recognizer, feedback)

            # online training
            machine = MachineLoader.load(machines.number_recognizer)
            machine.partial_fit(feedback[1:], [feedback[0]])
            MachineLoader.save(machines.number_recognizer, machine)
        else:
            result = "feedback format is wrong."

        resp = {"result": result}
        self.write(resp)
    def test_feedback(self):
        test_file = "test_feedback.txt"
        feedback_file = MachineLoader.feedback(machines.number_recognizer, None, file_name=test_file)
        if os.path.isfile(feedback_file):
            os.remove(feedback_file)

        data = [0] * 64
        target = [0]
        feedback = target + data
        # create file
        MachineLoader.feedback(machines.number_recognizer, feedback, file_name=test_file)
        # append file
        MachineLoader.feedback(machines.number_recognizer, feedback, file_name=test_file)

        with open(feedback_file, mode="rb") as r:
            lines = r.readlines()
            self.assertEqual(2, len(lines))

        os.remove(feedback_file)
예제 #9
0
    def post(self):
        resp = {"result": str(-1)}
        data = self.get_arguments("data[]")

        validated = Validator.validate_data(data)
        machine = MachineLoader.load(machines.number_recognizer)
        if len(validated) > 0:
            predicted = machine.predict(np.array(validated).reshape(1, -1))
            resp["result"] = str(predicted[0])

        self.write(resp)
예제 #10
0
    def images_to_mood(self, image_urls):
        import machines.photo_mood
        machine = MachineLoader.load(machines.photo_mood)

        mood_score = {}
        for url in image_urls:
            score = self.rekognize(url)
            mood = machine.predict(score)[0]
            mood_score[self.MOODS[int(mood)]] = 1

        return mood_score
    def images_to_mood(self, image_urls):
        import machines.photo_mood
        machine = MachineLoader.load(machines.photo_mood)

        mood_score = {}
        for url in image_urls:
            score = self.rekognize(url)
            mood = machine.predict(score)[0]
            mood_score[self.MOODS[int(mood)]] = 1

        return mood_score
예제 #12
0
    def post(self):
        resp = {"result": str(-1)}
        data = self.get_arguments("data[]")

        validated = Validator.validate_data(data)
        machine = MachineLoader.load(machines.number_recognizer)
        if len(validated) > 0:
            predicted = machine.predict(validated)
            resp["result"] = str(predicted[0])

        self.write(resp)
def photo2mood(image_urls):
    vr = VisionRecognizer()
    photo_to_mood = MachineLoader.load(machines.photo_mood)
    TARGET_LABELS = ['Boat', 'Human', 'Insect', 'Invertebrate', 'Mammal', 'Man Made Scene', 'Outdoors', 'People Activity', 'Placental Mammal', 'Vertebrate']
    moods = Counter()
    matrix = vr.recognize(image_urls).to_matrix(TARGET_LABELS)
    for r in matrix:
        mood = photo_to_mood.predict(r)[0]
        moods[int(mood)] += 1

    target_mood = moods.most_common(1)[0][0]  # get top and its score
    target_mood = Echonest.MOOD[target_mood]

    return target_mood
예제 #14
0
    def post(self):
        resp = {"result": str(-1)}
        data = self.get_arguments("data[]")
#        new_number = self.get_arguments("new_number")
        #print(new_number)

        validated = Validator.validate_data(data)
        machine = MachineLoader.load(machines.number_recognizer)
        if len(validated) > 0:
            predicted = machine.predict(validated)
            #print(validated)
#            import numpy as np
#            import scipy
            #scipy.mise.toimage(np.array(validated).reshape(8,8), cmin=0.0, cmax=16).save('outfile.jpg')
            resp["result"] = str(int(predicted[0]))
        self.write(resp)
예제 #15
0
def photo2mood(image_urls):
    vr = VisionRecognizer()
    photo_to_mood = MachineLoader.load(machines.photo_mood)
    TARGET_LABELS = [
        'Boat', 'Human', 'Insect', 'Invertebrate', 'Mammal', 'Man Made Scene',
        'Outdoors', 'People Activity', 'Placental Mammal', 'Vertebrate'
    ]
    moods = Counter()
    matrix = vr.recognize(image_urls).to_matrix(TARGET_LABELS)
    for r in matrix:
        mood = photo_to_mood.predict(r)[0]
        moods[int(mood)] += 1

    target_mood = moods.most_common(1)[0][0]  # get top and its score
    target_mood = Echonest.MOOD[target_mood]

    return target_mood
예제 #16
0
    def post(self):
        resp = {"result": str(-1)}
        data = self.get_arguments("data[]")

        validated = Validator.validate_data(data)
        machine = MachineLoader.load(machines.number_recognizer)

        with open('c:/temp/test.txt','a') as thefile:
            for item in validated:
                thefile.write("%s\n" % item)
        from random import randint
        b=randint(0,9)
        print("please input number %d" % b)
        with open('c:/temp/target.txt','a') as thefile:
            thefile.write("%s\n" % b)
        if len(validated) > 0:
            predicted = machine.predict(validated)
            print(validated)
            print(predicted)
            resp["result"] = str(predicted[0])
            #resp["result"] = str(b)

        self.write(resp)
 def test_load(self):
     machine = MachineLoader.load(machines.number_recognizer)
     self.assertTrue(machine)
 def test_load(self):
     machine = MachineLoader.load(machines.number_recognizer)
     self.assertTrue(machine)