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']
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']
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), " ..."