예제 #1
0
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
예제 #2
0
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
예제 #3
0
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')
예제 #4
0
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
예제 #5
0
파일: predict.py 프로젝트: darkAlpha/knnapp
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
예제 #6
0
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)