def random(dir_name): print("Preparing random generator") vecs = load_sparse_matrix(config.vectors_path(dir_name)).toarray() s = vecs.shape[0] def rf(): return vecs[np.random.randint(0, s)] print("Random generator is ready") return rf
def load_predictor(dir_name): print("load predictor") filenames = open(config.images_order(dir_name), 'r').readline().split(',') vecs = load_sparse_matrix(config.vectors_path(dir_name)) knn = NearestNeighbors(metric='cosine', algorithm='brute') knn.fit(vecs) def similarity(vec, n_neighbors=6): return _similar(vec, knn, filenames, n_neighbors) print("Predictor loaded") return similarity
def main(dir_name): files = glob(config.images_glob_path(dir_name)) save(files, config.images_order(dir_name)) base_model = VGG19(weights='imagenet') # Read about fc1 here http://cs231n.github.io/convolutional-networks/ model = Model(inputs=base_model.input, outputs=base_model.get_layer('fc1').output) vecs = vectorize_all(files, model, n_dims=4096) save_sparse_matrix(config.vectors_path(dir_name), vecs) print('Finished')
def load_predictor(owner_id): filenames = open(config.images_order(owner_id), 'r').readline().split(',') vecs = load_sparse_matrix(config.vectors_path(owner_id)) model = VGG16(include_top=False, weights='imagenet', pooling='max') knn = NearestNeighbors(metric='cosine', algorithm='brute') knn.fit(vecs) def similarity(file_path): vec = _vectorize(file_path, model) return _similar(vec, knn, filenames) return similarity
def load_predictor(dir_name): filenames = open(config.images_order(dir_name), 'r').readline().split(',') vecs = load_sparse_matrix(config.vectors_path(dir_name)) base_model = VGG19(weights='imagenet') model = Model(inputs=base_model.input, outputs=base_model.get_layer('fc1').output) knn = NearestNeighbors(metric='cosine', algorithm='brute') knn.fit(vecs) def similarity(file_path, n_neighbors=6): vec = _vectorize(file_path, model) return _similar(vec, knn, filenames, n_neighbors) return similarity
def main(owner_id): model = VGG16(include_top=False, weights='imagenet', pooling='max') files = glob(config.images_glob_path(owner_id)) save(files, config.images_order(owner_id)) vecs = vectorize_all(files, model) save_sparse_matrix(config.vectors_path(owner_id), vecs)