diff --git a/knn.py b/knn.py
index ef68437befac6a500360d535f4da904314d159ce..02df428d77775902bf40e51fb3dd19bf21bd8c31 100644
--- a/knn.py
+++ b/knn.py
@@ -45,6 +45,26 @@ def evaluate_knn(data_train, labels_train, data_test, labels_tests, k):
     accuracy = (labels_tests == result_test).sum() / N
     return(accuracy)
 
+def bench_knn():
+
+    k_indices = [i for i in range(20) if i!=0]
+    accuracies = []
+
+    # Loop on the k_indices to get all the accuracies
+    for k in k_indices:
+        accuracy = evaluate_knn(data_train, labels_train, data_test, labels_test, k)
+        accuracies.append(accuracy)
+        print(accuracy)
+    
+    # Save and show the graph of accuracies
+    fig = plt.figure()
+    plt.plot(k_indices, accuracies)
+    plt.title("Accuracy as function of k")
+    plt.show()
+    plt.savefig(r'C:\Users\danjo\Documents\GitHub\image-classification\results')
+    
+    return()
+
 
 
 
@@ -55,14 +75,15 @@ if __name__ == "__main__":
     data, labels = read_cifar(main_path)
     data_train, data_test, labels_train, labels_test = split_dataset(data, labels, 0.9)
     
-    print(labels_test)
-    
     dists = distance_matrix(data_test, data_train)
-    #print(dists)
+   
     
     r = knn_predict(dists, labels_train, 10)
     accurancy = evaluate_knn(data_train, labels_train, data_test, labels_test, 10)
-    print(r)
+
     print(accurancy)
     
+    bench_knn()
+    
+    
     
diff --git a/results.png b/results.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a41ccf737239cd900842bc7d3acf0115365d6c9
Binary files /dev/null and b/results.png differ
diff --git a/results/knn.png b/results/knn.png
new file mode 100644
index 0000000000000000000000000000000000000000..587ba139979a3d750505c4befb44eb0ecf38edd7
Binary files /dev/null and b/results/knn.png differ