Beispiel #1
0
    def choose_mnist(self):
        print "CHOSE MNIST"
        global predictor, autoencode_model, embeddings

        predictor = autoencode_predict.predict(
            name="meta-data/mnist/autoencode_model", color_depth=1)
        predictor.stop()
        predictor.restore()
        autoencode_model = predictor.autoencode_model
        embeddings = Embeddings(predictor)

        print "Loading images ..."
        if 'mnist' not in self.data_sets:
            print "Key missing.  Building ImageData"
            imageData = LazyLoadWrapper(
                BatchWrapper(
                    ResizeWrapper(ReshapeWrapper(Mnist(), [28, 28, 1]),
                                  [32, 32])))
            imageData.getImages()
            self.data_sets['mnist'] = imageData

        print "  mnist shape is", self.data_sets['mnist'].getImages().shape
        print "... loading images done"
        embeddings.data_set = self.data_sets['mnist'].getImages()
        return self.data_sets['mnist']
Beispiel #2
0
    def choose_garden(self):
        print "CHOSE GARDEN"
        global predictor, autoencode_model, embeddings

        predictor = autoencode_predict.predict(
            name="meta-data/garden/garden_model", color_depth=3)
        predictor.stop()
        predictor.restore()
        autoencode_model = predictor.autoencode_model
        embeddings = Embeddings(predictor)
        config_data = json.load(open("data/file_data.json", "r"))

        print "Loading images ..."
        if 'garden' not in self.data_sets:
            print "Key missing.  Building ImageData"

            print "Loading files ...",
            files = LazyLoadWrapper(
                ResizeWrapper(
                    FileReader(config_data["file_names"],
                               config_data["labels"]), [64, 64]))
            files.init()
            print "done."
            print "Calculating full size ...",
            full_size = LazyLoadWrapper(ResizeWrapper(files, [32, 32]))
            full_size.init()
            print "done."
            print "Calculating half size ...",
            half_size = LazyLoadWrapper(SliceWrapper(files, 32, 16))
            half_size.init()
            print "done."
            print "Calculating concat the whole thing ...",
            self.data_sets['garden'] = LazyLoadWrapper(
                BatchWrapper(ConcatWrapper([full_size, half_size])))
            print "done."

            self.data_sets['garden'].getImages()

        print "  garden shape is", self.data_sets['garden'].getImages().shape
        print "... loading images done"
        embeddings.data_set = self.data_sets['garden'].getImages()
        return self.data_sets['garden']
Beispiel #3
0
import numpy as np
import label_predict
from embeddings import Embeddings
import nearest_neighbour
from data_source import LazyLoadWrapper, ResizeWrapper, ReshapeWrapper, Mnist

embeddings = Embeddings()

imageData = LazyLoadWrapper(
    ResizeWrapper(ReshapeWrapper(Mnist(False), [28, 28, 1]), [32, 32]))

embeddings.data_set = imageData.getImages()

number = 4

print "The number is", imageData.getLabels()[number]

nearest = nearest_neighbour.byIndex(number,
                                    embeddings.getEmbeddings(),
                                    size=200)
result = zip(imageData.getLabels()[nearest], nearest)
nearest = []
negative_examples = []
for label, data_index in result:
    label = np.argmax(label)
    if label == 4:
        nearest.append(data_index)
    else:
        negative_examples.append(data_index)

print "Pretend labeling the first", len(nearest), " ..."