Exemplo n.º 1
0
    _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)