Practical-Deep-Learning-Book icon indicating copy to clipboard operation
Practical-Deep-Learning-Book copied to clipboard

chapter-4/2-similarity-search-level-3.ipynb Accuracy calculation on 2048 dim is too slow

Open gitgithan opened this issue 2 years ago • 1 comments

It is taking ~40 minutes on my CPU which is unbearable.

Why not use numpy? class_ids was pickled but not used.

Here's the full code, takes < 1 second (i didn't wrap in function or multiply accuracy by 100)

class_ids = pickle.load(open('features/class_ids-caltech101.pickle', 'rb'))

neighbors = NearestNeighbors(n_neighbors=5,
                             algorithm='brute',
                             metric='euclidean').fit(feature_list_compressed)
    
distances, np_indices = neighbors.kneighbors(feature_list_compressed)

neighbors_class_ids = class_ids[np_indices]
class_equalities = np.equal(neighbors_class_ids[:, [0]], neighbors_class_ids[:, 1:5])
class_equalities.mean()

gitgithan avatar Feb 19 '23 10:02 gitgithan

Thanks! Can you send this as a PR?

sidgan avatar Mar 20 '23 19:03 sidgan