def get_pca(file_dir, s, t, i):
    from sklearn.decomposition import IncrementalPCA

    ipca = IncrementalPCA(n_components=48)
    for counter in range(s, t, i):
        features_file = np.load(file_dir + "/pca" + str(counter) + "_code.npy")
        ipca.partial_fit(features_file[:, 0:4096])
    return ipca


if __name__ == "__main__":
    args = parser()
    tree, codes_image = create_structures(get_code_from_files(args.codesdir, 0, 1000, 1000, 4975))
    my_autoencoder = Autoencoder(args.solver, args.model)
    code = my_autoencoder.get_fc7(jpg_dir + "009961" + ".jpg")
    pca = get_pca(args.codesdir, 0, 1000, 1000)
    with open(images_dir + "test.txt") as f:
        for image in f:
            print "new image", image
            # compare_image(image.rstrip(), tree, my_autoencoder, 1, pca, codes_image)
    # print 'ok'
    code_red = pca.transform(code)
    # print code_red.shape
    # print
    result = tree.query(code_red, k=1, p=2)
    print "results: ", len(result), result[1], result[0], codes_image[result[1].astype(int), -1]
    print total_retrieved_correct, total_retrieved
    print total_retrieved_false
    print total_retrieved
    print analysis