_k = [10, 20, 40, 80, 120, 200, 400, 600, 800] for M in M_vec: break start_graph = time.time() t = HnswIndex(128) for i in range(len(xb)): t.add_data(xb[i]) t.build(m=M, ef_construction=500) end_graph = time.time() for kk in _k: print("M:", M, "kk:", kk) start_query = time.time() accuracy = 0 for i in range(len(xq)): ans = t.search_by_vector(xq[i], k, kk) for x in ans: if x in gt[i]: accuracy += 1 end_query = time.time() f = open('n2_results.txt', 'a') fg = open('n2_fg.txt', 'a') fq = open('n2_fq.txt', 'a') ff = open('n2_ff.txt', 'a') print("M:", M, "kk:", kk, file=f) print('time graph:', end_graph - start_graph, file=f) print('time query:', end_query - start_query, file=f) print('time full:', end_query - start_graph, file=f)