From ebbe9ddafa472ba2fd0e1c0c8a9f5cd26d31c9a7 Mon Sep 17 00:00:00 2001 From: Zixu Li <60847320+SDU-L@users.noreply.github.com> Date: Thu, 3 Aug 2023 18:00:48 +0800 Subject: [PATCH 1/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index df2b9891a..e5e035934 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Evaluated * [scipy](https://docs.scipy.org/doc/scipy/reference/spatial.html): cKDTree * [vald](https://github.com/vdaas/vald) ![https://img.shields.io/github/stars/vdaas/vald?style=social](https://img.shields.io/github/stars/vdaas/vald?style=social) * [Qdrant](https://github.com/qdrant/qdrant) ![https://img.shields.io/github/stars/qdrant/qdrant?style=social](https://img.shields.io/github/stars/qdrant/qdrant?style=social) -* [qsgngtlib](https://github.com/WPJiang/HWTL_SDU-ANNS.git) +* [HUAWEI(qsgngt)](https://github.com/WPJiang/HWTL_SDU-ANNS.git) * [Milvus](https://github.com/milvus-io/milvus) ![https://img.shields.io/github/stars/milvus-io/milvus?style=social](https://img.shields.io/github/stars/milvus-io/milvus?style=social): [Knowhere](https://github.com/milvus-io/knowhere) * [Zilliz(Glass)](https://github.com/hhy3/pyglass) * [pgvector](https://github.com/pgvector/pgvector) ![https://img.shields.io/github/stars/pgvector/pgvector?style=social](https://img.shields.io/github/stars/pgvector/pgvector?style=social) From 54197d3cf17e18fcec4c4c9794062da801658c76 Mon Sep 17 00:00:00 2001 From: Zixu Li <60847320+SDU-L@users.noreply.github.com> Date: Tue, 7 Jan 2025 22:10:31 +0800 Subject: [PATCH 2/4] Update config.yml --- ann_benchmarks/algorithms/qsg_ngt/config.yml | 683 ++++++++++++++++--- 1 file changed, 575 insertions(+), 108 deletions(-) diff --git a/ann_benchmarks/algorithms/qsg_ngt/config.yml b/ann_benchmarks/algorithms/qsg_ngt/config.yml index 2b0d6a2c4..1029b99d2 100644 --- a/ann_benchmarks/algorithms/qsg_ngt/config.yml +++ b/ann_benchmarks/algorithms/qsg_ngt/config.yml @@ -7,113 +7,580 @@ float: module: ann_benchmarks.algorithms.qsg_ngt name: qsgngt run_groups: - K-200-100: - args: [{edge: 100, epsilon: 0.1, ifES: 1, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [200, 200, 15, 10, 100], paramS: [100, 100, 60], range: 200, rangeMax: 200, - sample: 20000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-1: - args: [{edge: 100, epsilon: 0.1, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 175, rangeMax: 175, - sample: 20000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-2: - args: [{edge: 100, epsilon: 0.04, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 175, rangeMax: 175, - sample: 4000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-3: - args: [{edge: 100, epsilon: 0.02, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 175, rangeMax: 175, - sample: 2000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-4: - args: [{edge: 100, epsilon: 0.04, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 100, rangeMax: 300, - sample: 4000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-5: - args: [{edge: 100, epsilon: 0.02, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 100, rangeMax: 300, - sample: 4000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-6: - args: [{edge: 100, epsilon: 0.02, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 175, rangeMax: 175, - sample: 4000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-7: + a1: args: [{edge: 100, epsilon: 0.08, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 200, rangeMax: 200, - sample: 4000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-8: - args: [{edge: 100, epsilon: 0.04, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 200, rangeMax: 200, - sample: 4000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-60-9: - args: [{edge: 100, epsilon: 0.02, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 200, rangeMax: 200, - sample: 4000, searchA: 400, threshold: 60}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] - cos-89: + paramE: [400, 400, 12, 10, 250] , paramS: [100, 100, 60] , range: 200, rangeMax: 200, + sample: 5000, searchA: 400, threshold: 60, Q: 1}] + query_args: [[ + [1, 1, 0.98, 4, 1, 0], + [1, 1, 0.98, 4, 0, 0], + [1, 3, 1.085, 0, 1, 0], + [1, 2, 0.98, 4, 1, 0], + [1, 1, 0.985, 4, 1, 0], + [1, 1, 0.995, 4, 1, 0], + [1, 2, 0.995, 4, 1, 0], + [1, 1.5, 0.995, 4, 1, 0], + [1, 1, 1.00, 4, 1, 0], + [1, 2, 1.015, 4, 1, 0], + [1, 2, 1.02, 4, 1, 0], + [1, 2, 1.025, 4, 1, 0], + [1, 2, 1.03, 4, 1, 0], + [1, 2, 1.035, 4, 1, 0], + [1, 2, 1.005, 5, 1, 0], + [1, 2, 1.01, 5, 1, 0], + [1, 2, 1.015, 5, 1, 0], + [1, 2, 1.015, 5, 1, 0], + [1, 2, 1.02, 5, 1, 0], + [1, 2, 1.025, 5, 1, 0], + [1, 2, 1.03, 5, 1, 0], + [1, 2, 1.035, 5, 1, 0], + [1, 2, 1.04, 0, 1, 0], + [1, 2, 1.045, 0, 1, 0], + [1, 3, 1.045, 0, 1, 0], + [1, 3, 1.05, 0, 1, 0], + [1, 3, 1.055, 0, 1, 0], + [1, 3, 1.06, 0, 1, 0], + [1, 3, 1.065, 0, 1, 0], + [1, 3, 1.07, 0, 1, 0], + [1, 3, 1.075, 0, 1, 0], + [1, 3, 1.08, 0, 1, 0], + [1, 3, 1.09, 0, 1, 0], + [1, 3, 1.095, 0, 1, 0], + [1, 3, 1.1, 0, 1, 0], + [1, 3, 1.11, 0, 1, 0], + [1, 4, 1.11, 0, 1, 0], + [1, 3, 1.12, 0, 1, 0], + [1, 4, 1.12, 0, 1, 0], + [1, 3, 1.13, 0, 1, 0], + [1, 4, 1.13, 0, 1, 0], + [1, 3, 1.14, 0, 1, 0], + [1, 4, 1.14, 0, 1, 0], + [1, 3, 1.15, 0, 1, 0], + [1, 4, 1.15, 0, 1, 0], + [1, 3, 1.16, 0, 1, 0], + [1, 4, 1.16, 0, 1, 0], + [1, 3, 1.17, 0, 1, 0], + [1, 4, 1.17, 0, 1, 0], + [1, 3, 1.18, 0, 1, 0], + [1, 4, 1.18, 0, 1, 0], + [1, 3, 1.19, 0, 1, 0], + [1, 4, 1.19, 0, 1, 0], + [1, 3, 1.2, 0, 1, 0], + [1, 4, 1.2, 0, 1, 0], + [1, 5, 1.2, 0, 1, 0], + [1, 2, 1.3, 0, 1, 0], + [1, 3, 1.3, 0, 1, 0], + [1, 4, 1.3, 0, 1, 0], + [1, 5, 1.3, 0, 1, 0], + [8, 8, 1.06, 0, 1, 0], + [8, 10, 1.06, 0, 1, 0], + [8, 12, 1.06, 0, 1, 0], + [8, 8, 1.10, 0, 1, 0], + [8, 8, 1.09, 0, 1, 0], + [8, 8, 1.07, 0, 1, 0], + [8, 8, 1.08, 0, 1, 0], + [8, 5, 1.06, 0, 1, 0], + [8, 10, 1.10, 0, 1, 0], + [8, 10, 1.09, 0, 1, 0], + [8, 10, 1.07, 0, 1, 0], + [8, 10, 1.08, 0, 1, 0], + [8, 12, 1.10, 0, 1, 0], + [8, 12, 1.09, 0, 1, 0], + [8, 12, 1.07, 0, 1, 0], + [8, 12, 1.08, 0, 1, 0], + [0.0, 0.0, 0.95, 4, 0, 0], + [0.0, 0.0, 0.98, 4, 0, 0], + [0.0, 2.0, 1.0, 4, 0, 0], + [1.2, 1.2, 0.98, 4, 0, 0], + [1, 4, 1.045, 0, 1, 0], + [1, 4, 1.05, 0, 1, 0], + [1, 4, 1.055, 0, 1, 0], + [1, 4, 1.06, 0, 1, 0], + [1, 4, 1.065, 0, 1, 0], + [1, 4, 1.07, 0, 1, 0], + [1, 4, 1.075, 0, 1, 0], + [1, 4, 1.08, 0, 1, 0], + [1, 4, 1.085, 0, 1, 0], + [1, 4, 1.09, 0, 1, 0], + [1, 4, 1.095, 0, 1, 0], + [1, 4, 1.1, 0, 1, 0], + [1, 4, 1.2, 0, 1, 0], + [10.0, 15.0, 1.03, 0, 0, 0], + [10.0, 15.0, 1.03, 0, 1, 0], + [10.0, 18.0, 1.03, 0, 0, 0], + [10.0, 18.0, 1.03, 0, 1, 0], + [10.0, 21.0, 1.03, 0, 0, 0], + [10.0, 21.0, 1.03, 0, 1, 0], + ]] + + a2: + args: [{edge: 120, epsilon: 0.1, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, + paramE: [400, 400, 12, 10, 250] , paramS: [100, 100, 60] , range: 175, rangeMax: 175, + sample: 5000, searchA: 400, threshold: 60, Q: 2}] + query_args: [[ + [1, 8, 1.31, 0, 0, 1], + [1, 8, 1.31, 0, 1, 1], + [1, 2, 1.045, 0, 1, 1], + [1, 2, 1.04, 0, 2, 1], + [1, 2, 1.04, 0, 1, 1], + [1, 2, 1.04, 0, 0, 1], + [1, 4.5, 1.16, 0, 0, 1], + [1, 4.5, 1.16, 0, 1, 1], + [1, 4.5, 1.16, 0, 2, 1], + [2, 2, 1.01, 0, 0, 1], + [1, 2, 1.04, 0, 1, 1], + [2.5, 2.5, 1.03, 4, 1, 1], + [2.0, 2.0, 1.0, 4, 1, 1], + [2.5, 2.5, 1.03, 4, 0, 1], + [2.0, 2.0, 1.0, 4, 0, 1], + [1.5, 1.5, 0.95, 6, 0, 1], + [1.2, 1.2, 0.98, 6, 1, 1], + [1.2, 1.2, 0.98, 6, 0, 1], + [1.2, 1.2, 0.98, 4, 0, 1], + [0, 0, 1, 6, 0, 1], + [0, 0, 0.98, 4, 0, 1], + [0, 0, 0.95, 4, 0, 1], + [0, 0, 0.9, 4, 0, 1], + [1, 1, 0.98, 4, 1, 1], + [1, 1, 0.98, 4, 0, 1], + [1, 3, 1.085, 0, 1, 1], + [1, 2, 0.98, 4, 1, 1], + [1, 1, 0.985, 4, 1, 1], + [1, 1, 0.995, 4, 1, 1], + [1, 2, 0.995, 4, 1, 1], + [1, 1.5, 0.995, 4, 1, 1], + [1, 1, 1.00, 4, 1, 1], + [1, 2, 1.015, 4, 1, 1], + [1, 2, 1.02, 4, 1, 1], + [1, 2, 1.025, 4, 1, 1], + [1, 2, 1.03, 4, 1, 1], + [1, 2, 1.035, 4, 1, 1], + [1, 2, 1.005, 5, 1, 1], + [1, 2, 1.01, 5, 1, 1], + [1, 2, 1.015, 5, 1, 1], + [1, 2, 1.015, 5, 1, 1], + [1, 2, 1.02, 5, 1, 1], + [1, 2, 1.025, 5, 1, 1], + [1, 2, 1.03, 5, 1, 1], + [1, 2, 1.035, 5, 1, 1], + [1, 3, 1.05, 0, 1, 1], + [1, 3, 1.06, 0, 1, 1], + [1, 3, 1.07, 0, 1, 1], + [1, 3, 1.08, 0, 1, 1], + [1, 3, 1.09, 0, 1, 1], + [1, 3, 1.1, 0, 1, 1], + [1, 4, 1.11, 0, 1, 1], + [1, 4, 1.12, 0, 1, 1], + [1, 4, 1.13, 0, 1, 1], + [1, 4, 1.14, 0, 1, 1], + [1, 4, 1.15, 0, 1, 1], + [1, 4, 1.16, 0, 1, 1], + [1, 4, 1.17, 0, 1, 1], + [1, 4, 1.18, 0, 1, 1], + [1, 4.5, 1.19, 0, 1, 1], + [1, 4.5, 1.11, 0, 1, 1], + [1, 4.5, 1.12, 0, 1, 1], + [1, 4.5, 1.13, 0, 1, 1], + [1, 4.5, 1.14, 0, 1, 1], + [1, 4.5, 1.15, 0, 1, 1], + [1, 4.5, 1.17, 0, 1, 1], + [1, 4.5, 1.18, 0, 1, 1], + [1, 4.5, 1.19, 0, 1, 1], + [1, 5, 1.2, 0, 1, 1], + [1, 5, 1.21, 0, 1, 1], + [1, 5.5, 1.2, 0, 1, 1], + [1, 5.5, 1.21, 0, 1, 1], + [1, 5.5, 1.22, 0, 1, 1], + [1, 5.5, 1.23, 0, 1, 1], + [1, 5.5, 1.24, 0, 1, 1], + [1, 5.5, 1.25, 0, 1, 1], + [1, 5.5, 1.26, 0, 1, 1], + [1, 5.5, 1.27, 0, 1, 1], + [1, 5.5, 1.28, 0, 1, 1], + [1, 5.5, 1.31, 0, 1, 1], + [1, 5, 1.3, 0, 1, 1], + [8, 8, 1.16, 0, 1, 1], + [8, 10, 1.16, 0, 1, 1], + [8, 12, 1.16, 0, 1, 1], + [8, 8, 1.20, 0, 1, 1], + [8, 8, 1.19, 0, 1, 1], + [8, 8, 1.17, 0, 1, 1], + [8, 8, 1.18, 0, 1, 1], + [0.0, 0.0, 0.95, 4, 0, 1], + [0.0, 0.0, 0.98, 4, 0, 1], + [0.0, 2.0, 1.0, 4, 0, 1], + [1.2, 1.2, 0.98, 4, 0, 1], + [1, 4, 1.045, 0, 1, 1], + [1, 4, 1.05, 0, 1, 1], + [1, 4, 1.055, 0, 1, 1], + [1, 4, 1.06, 0, 1, 1], + [1, 4, 1.065, 0, 1, 1], + [1, 4, 1.07, 0, 1, 1], + [1, 4, 1.075, 0, 1, 1], + [1, 4, 1.08, 0, 1, 1], + [1, 4, 1.085, 0, 1, 1], + [1, 4, 1.09, 0, 1, 1], + [1, 4, 1.095, 0, 1, 1], + [1, 4, 1.1, 0, 1, 1], + [1, 4.5, 1.045, 0, 1, 1], + [1, 4.5, 1.05, 0, 1, 1], + [1, 4.5, 1.055, 0, 1, 1], + [1, 4.5, 1.06, 0, 1, 1], + [1, 4.5, 1.065, 0, 1, 1], + [1, 4.5, 1.07, 0, 1, 1], + [1, 4.5, 1.075, 0, 1, 1], + [1, 4.5, 1.08, 0, 1, 1], + [1, 4.5, 1.085, 0, 1, 1], + [1, 4.5, 1.09, 0, 1, 1], + [1, 4.5, 1.095, 0, 1, 1], + [1, 4.5, 1.1, 0, 1, 1], + ]] + + a3: args: [{edge: 100, epsilon: 0.08, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, - paramE: [400, 400, 12, 10, 250], paramS: [100, 100, 60], range: 200, rangeMax: 200, - sample: 4000, searchA: 400, threshold: 89}] - query_args: [[[0.0, 0.9], [0.0, 0.95], [0.0, 0.98], [0.0, 1.0], [1.2, 0.9], - [1.5, 0.9], [2.0, 0.9], [3.0, 0.9], [1.2, 0.95], [1.5, 0.95], [2.0, 0.95], - [3.0, 0.95], [1.2, 0.98], [1.5, 0.98], [2.0, 0.98], [3.0, 0.98], [1.2, - 1.0], [1.5, 1.0], [2.0, 1.0], [3.0, 1.0], [5, 1.0], [10, 1.0], [20, - 1.0], [1.2, 1.02], [1.5, 1.02], [2.0, 1.02], [3.0, 1.02], [2, 1.04], - [3, 1.04], [5, 1.04], [8, 1.04]]] + paramE: [400, 400, 12, 10, 250] , paramS: [100, 100, 60] , range: 200, rangeMax: 200, + sample: 5000, searchA: 400, threshold: 89, Q: 1}] + query_args: [[ + [2.5, 2.5, 1.03, 4, 1, 0], + [2.0, 2.0, 1.0, 4, 1, 0], + [1.5, 1.5, 0.95, 6, 0, 0], + [1.2, 1.2, 0.98, 6, 1, 0], + [1.2, 1.2, 0.98, 4, 0, 0], + [0, 0, 1, 6, 0, 0], + [0, 0, 0.98, 4, 0, 0], + [0, 0, 0.95, 4, 0, 0], + [0, 0, 0.9, 4, 0, 0], + [1, 1, 0.98, 4, 1, 0], + [1, 1, 0.98, 4, 0, 0], + [1, 3, 1.085, 0, 1, 0], + [1, 2, 0.98, 4, 1, 0], + [1, 1, 0.985, 4, 1, 0], + [1, 1, 0.995, 4, 1, 0], + [1, 2, 0.995, 4, 1, 0], + [1, 1.5, 0.995, 4, 1, 0], + [1, 1, 1.00, 4, 1, 0], + [1, 2, 1.015, 4, 1, 0], + [1, 2, 1.02, 4, 1, 0], + [1, 2, 1.025, 4, 1, 0], + [1, 2, 1.03, 4, 1, 0], + [1, 2, 1.035, 4, 1, 0], + [1, 2, 1.005, 5, 1, 0], + [1, 2, 1.01, 5, 1, 0], + [1, 2, 1.015, 5, 1, 0], + [1, 2, 1.015, 5, 1, 0], + [1, 2, 1.02, 5, 1, 0], + [1, 2, 1.025, 5, 1, 0], + [1, 2, 1.03, 5, 1, 0], + [1, 2, 1.035, 5, 1, 0], + [1, 2, 1.04, 0, 1, 0], + [1, 2, 1.045, 0, 1, 0], + [1, 3, 1.045, 0, 1, 0], + [1, 3, 1.05, 0, 1, 0], + [1, 3, 1.055, 0, 1, 0], + [1, 3, 1.06, 0, 1, 0], + [1, 3, 1.065, 0, 1, 0], + [1, 3, 1.07, 0, 1, 0], + [1, 3, 1.075, 0, 1, 0], + [1, 3, 1.08, 0, 1, 0], + [1, 3, 1.09, 0, 1, 0], + [1, 3, 1.095, 0, 1, 0], + [1, 3, 1.1, 0, 1, 0], + [1, 3, 1.11, 0, 1, 0], + [1, 4, 1.11, 0, 1, 0], + [1, 3, 1.12, 0, 1, 0], + [1, 4, 1.12, 0, 1, 0], + [1, 3, 1.13, 0, 1, 0], + [1, 4, 1.13, 0, 1, 0], + [1, 3, 1.14, 0, 1, 0], + [1, 4, 1.14, 0, 1, 0], + [1, 3, 1.15, 0, 1, 0], + [1, 4, 1.15, 0, 1, 0], + [1, 3, 1.16, 0, 1, 0], + [1, 4, 1.16, 0, 1, 0], + [1, 3, 1.17, 0, 1, 0], + [1, 4, 1.17, 0, 1, 0], + [1, 3, 1.18, 0, 1, 0], + [1, 4, 1.18, 0, 1, 0], + [1, 3, 1.19, 0, 1, 0], + [1, 4, 1.19, 0, 1, 0], + [1, 3, 1.2, 0, 1, 0], + [1, 4, 1.2, 0, 1, 0], + [1, 5, 1.2, 0, 1, 0], + [1, 2, 1.3, 0, 1, 0], + [1, 3, 1.3, 0, 1, 0], + [1, 4, 1.3, 0, 1, 0], + [1, 5, 1.3, 0, 1, 0], + [8, 8, 1.06, 0, 1, 0], + [8, 10, 1.06, 0, 1, 0], + [8, 12, 1.06, 0, 1, 0], + [8, 8, 1.10, 0, 1, 0], + [8, 8, 1.09, 0, 1, 0], + [8, 8, 1.07, 0, 1, 0], + [8, 8, 1.08, 0, 1, 0], + [8, 5, 1.06, 0, 1, 0], + [8, 10, 1.10, 0, 1, 0], + [8, 10, 1.09, 0, 1, 0], + [8, 10, 1.07, 0, 1, 0], + [8, 10, 1.08, 0, 1, 0], + [8, 12, 1.10, 0, 1, 0], + [8, 12, 1.09, 0, 1, 0], + [8, 12, 1.07, 0, 1, 0], + [8, 12, 1.08, 0, 1, 0], + [0.0, 0.0, 0.95, 4, 0, 0], + [0.0, 0.0, 0.98, 4, 0, 0], + [0.0, 2.0, 1.0, 4, 0, 0], + [1.2, 1.2, 0.98, 4, 0, 0], + [1, 4, 1.045, 0, 1, 0], + [1, 4, 1.05, 0, 1, 0], + [1, 4, 1.055, 0, 1, 0], + [1, 4, 1.06, 0, 1, 0], + [1, 4, 1.065, 0, 1, 0], + [1, 4, 1.07, 0, 1, 0], + [1, 4, 1.075, 0, 1, 0], + [1, 4, 1.08, 0, 1, 0], + [1, 4, 1.085, 0, 1, 0], + [1, 4, 1.09, 0, 1, 0], + [1, 4, 1.095, 0, 1, 0], + [1, 4, 1.1, 0, 1, 0], + [1, 4, 1.2, 0, 1, 0], + [10.0, 15.0, 1.03, 0, 0, 0], + [10.0, 15.0, 1.03, 0, 1, 0], + [10.0, 18.0, 1.03, 0, 0, 0], + [10.0, 18.0, 1.03, 0, 1, 0], + [10.0, 21.0, 1.03, 0, 0, 0], + [10.0, 21.0, 1.03, 0, 1, 0], + ]] + + a4: + args: [{edge: 40, epsilon: 0.001, ifES: 0, indegree: 40, max_edge: 64, outdegree: 48, + paramE: [400, 400, 12, 10, 250] , paramS: [100, 100, 60] , range: 175, rangeMax: 175, + sample: 1000, searchA: 400, threshold: 60, Q: 3, era: 1}] + query_args: [[ + [0, 0, 0.9, 6, 0, 3], + [0, 0, 0.9, 4, 0, 3], + [0, 0, 0.95, 4, 0, 3], + [1, 1, 0.98, 5, 1, 3], + [1, 1, 0.99, 4, 1, 3], + [1.5, 1.5, 0.95, 2, 0, 3], + [1, 2, 0.99, 4, 1, 3], + [1, 1.5, 0.995, 4, 1, 3], + [1, 2, 0.995, 5, 1, 3], + [1, 2, 1, 4, 1, 3], + [1, 2, 1.005, 5, 1, 3], + [1, 2, 1.01, 4, 1, 3], + [1, 2, 1.015, 5, 1, 3], + [1, 2, 1.02, 5, 1, 3], + [1, 2, 1.025, 5, 1, 3], + [1, 2, 1.03, 5, 1, 3], + [1, 2, 1.035, 5, 1, 3], + [1, 3, 1.045, 0, 1, 3], + [1, 4, 1.045, 0, 0, 3], + [1, 4, 1.045, 0, 1, 3], + [3, 5, 1, 0, 0, 3], + [1, 7, 1.05, 0, 0, 3], + [3, 5, 1.01, 0, 0, 3], + [1, 6, 1.055, 0, 0, 3], + [3, 7, 1.01, 0, 0, 3], + [1, 6, 1.06, 0, 0, 3], + [1, 8, 1.06, 0, 0, 3], + [3, 7, 1.02, 0, 0, 3], + [3, 9, 1.02, 0, 0, 3], + [4, 8, 1.02, 0, 1, 3], + [4, 10, 1.02, 0, 1, 3], + [6, 10, 1.02, 0, 1, 3], + [6, 12, 1.02, 0, 1, 3], + [8, 14, 1.01, 0, 1, 3], + [8, 14, 1.02, 0, 1, 3], + [9, 17, 1.02, 0, 1, 3], + [10, 18, 1.02, 0, 1, 3], + [12, 20, 1.02, 0, 1, 3], + [16, 24, 1.01, 0, 1, 3], + [20, 28, 1.01, 0, 1, 3], + [26, 34, 1, 0, 1, 3], + [26, 32, 1.01, 0, 1, 3], + [28, 36, 1.01, 0, 1, 3], + [24, 32, 1.02, 0, 1, 3], + [24, 60, 1.02, 0, 1, 3], + [28, 60, 1.02, 0, 1, 3], + [30, 60, 1.02, 0, 1, 3], + [30, 100, 1.02, 0, 1, 3], + [30, 150, 1.02, 0, 1, 3], + [40, 100, 1.02, 0, 1, 3], + + [40, 150, 1.03, 0, 1, 3], + [40, 150, 1.02, 0, 1, 3], + [40, 150, 1.04, 0, 1, 3], + [40, 250, 1.07, 0, 1, 3], + [35, 100, 1.04, 0, 1, 3], + [35, 100, 1.03, 0, 1, 3], + [35, 100, 1.02, 0, 1, 3], + [35, 120, 1.04, 0, 1, 3], + [35, 150, 1.04, 0, 1, 3], + [35, 160, 1.04, 0, 1, 3], + + [35, 150, 1.03, 0, 1, 3], + [35, 150, 1.02, 0, 1, 3], + [35, 200, 1.05, 0, 1, 3], + [35, 200, 1.07, 0, 1, 3], + [35, 250, 1.07, 0, 1, 3], + ]] + + a5: + args: [{edge: 100, epsilon: 0.02, ifES: 0, indegree: 120, max_edge: 96, outdegree: 64, + paramE: [400, 400, 12, 10, 250] , paramS: [100, 100, 60] , range: 100, rangeMax: 300, + sample: 5000, searchA: 400, threshold: 60, Q: 1, era: 1}] + query_args: [[ + + [0, 0, 0.9, 4, 0, 0], + [0, 0, 0.95, 4, 0, 0], + [1, 1, 0.98, 4, 1, 0], + [1, 1, 0.985, 4, 1, 0], + [1, 1, 0.995, 4, 1, 0], + [1.2, 1.2, 0.98, 6, 1, 0], + [1,1,1,4,1,0], + [1, 1.5, 0.995, 4, 1, 0], + [1, 2, 0.995, 4, 1, 0], + [1, 2, 1.005, 5, 1, 0], + [1, 2, 1.01, 5, 1, 0], + [1, 2, 1.015, 5, 1, 0], + [1, 2, 1.015, 5, 1, 0], + [1, 2, 1.02, 5, 1, 0], + [1, 2, 1.025, 5, 1, 0], + [1, 2, 1.03, 5, 1, 0], + [1, 2, 1.035, 5, 1, 0], + [1, 2, 1.045, 0, 1, 0], + [1, 3, 1.045, 0, 1, 0], + [1, 4, 1.045, 0, 1, 0], + [1, 4, 1.05, 0, 1, 0], + [1, 4, 1.055, 0, 1, 0], + [1, 4, 1.06, 0, 1, 0], + [1, 4, 1.065, 0, 1, 0], + [1, 4, 1.07, 0, 1, 0], + [1, 4, 1.075, 0, 1, 0], + [1, 4, 1.08, 0, 1, 0], + [1, 4, 1.085, 0, 1, 0], + [1, 4, 1.09, 0, 1, 0], + [1, 4, 1.095, 0, 1, 0], + [1, 4, 1.1, 0, 1, 0], + [1, 4.5, 1.045, 0, 1, 0], + [1, 4.5, 1.05, 0, 1, 0], + [1, 4.5, 1.055, 0, 1, 0], + [1, 4.5, 1.06, 0, 1, 0], + [1, 4.5, 1.065, 0, 1, 0], + [1, 4.5, 1.07, 0, 1, 0], + [1, 4.5, 1.075, 0, 1, 0], + [1, 4.5, 1.08, 0, 1, 0], + [1, 4.5, 1.085, 0, 1, 0], + [1, 4.5, 1.09, 0, 1, 0], + [1, 4.5, 1.095, 0, 1, 0], + [1, 4.5, 1.1, 0, 1, 0], + [1, 4, 1.11, 0, 1, 0], + [1, 4, 1.13, 0, 1, 0], + [1, 4, 1.14, 0, 1, 0], + [1, 4, 1.15, 0, 1, 0], + [1, 4, 1.16, 0, 1, 0], + [1, 4, 1.17, 0, 1, 0], + [1, 4, 1.18, 0, 1, 0], + [1, 4.5, 1.11, 0, 1, 0], + [1, 4.5, 1.12, 0, 1, 0], + [1, 4.5, 1.13, 0, 1, 0], + [1, 4.5, 1.14, 0, 1, 0], + [1, 4.5, 1.15, 0, 1, 0], + [1, 4.5, 1.17, 0, 1, 0], + [1, 4.5, 1.18, 0, 1, 0], + [1, 4.5, 1.19, 0, 1, 0], + [1, 5, 1.2, 0, 1, 0], + [1, 5.5, 1.2, 0, 1, 0], + [1, 5.5, 1.21, 0, 1, 0], + [1, 5.5, 1.22, 0, 1, 0], + [1, 5.5, 1.23, 0, 1, 0], + [1, 5.5, 1.24, 0, 1, 0], + [1, 5.5, 1.25, 0, 1, 0], + [1, 5.5, 1.26, 0, 1, 0], + [8, 8, 1.16, 0, 1, 0], + [8, 8, 1.17, 0, 1, 0], + + ]] + + a6: + args: [{edge: 100, epsilon: 0.01, ifES: 0, indegree: 100, max_edge: 96, outdegree: 64, + paramE: [400, 400, 12, 10, 250] , paramS: [100, 100, 60] , range: 200, rangeMax: 200, + sample: 5000, searchA: 400, threshold: 60, Q: 1}] + query_args: [[ + [1, 1, 0.98, 4, 1, 0], + [1, 1, 0.98, 4, 0, 0], + [1, 3, 1.085, 0, 1, 0], + [1, 2, 0.98, 4, 1, 0], + [1, 1, 0.985, 4, 1, 0], + [1, 1, 0.995, 4, 1, 0], + [1, 2, 0.995, 4, 1, 0], + [1, 1.5, 0.995, 4, 1, 0], + [1, 1, 1.00, 4, 1, 0], + [1, 2, 1.015, 4, 1, 0], + [1, 2, 1.02, 4, 1, 0], + [1, 2, 1.025, 4, 1, 0], + [1, 2, 1.03, 4, 1, 0], + [1, 2, 1.035, 4, 1, 0], + [1, 2, 1.005, 5, 1, 0], + [1, 2, 1.01, 5, 1, 0], + [1, 2, 1.015, 5, 1, 0], + [1, 2, 1.015, 5, 1, 0], + [1, 2, 1.02, 5, 1, 0], + [1, 2, 1.025, 5, 1, 0], + [1, 2, 1.03, 5, 1, 0], + [1, 2, 1.035, 5, 1, 0], + [1, 2, 1.04, 0, 1, 0], + [1, 2, 1.045, 0, 1, 0], + [1, 3, 1.045, 0, 1, 0], + [1, 3, 1.05, 0, 1, 0], + [1, 3, 1.055, 0, 1, 0], + [1, 3, 1.06, 0, 1, 0], + [1, 3, 1.065, 0, 1, 0], + [1, 3, 1.07, 0, 1, 0], + [1, 3, 1.075, 0, 1, 0], + [1, 3, 1.08, 0, 1, 0], + [1, 3, 1.09, 0, 1, 0], + [1, 3, 1.095, 0, 1, 0], + [1, 3, 1.1, 0, 1, 0], + [1, 3, 1.2, 0, 1, 0], + [1, 4, 1.2, 0, 1, 0], + [8, 8, 1.06, 0, 1, 0], + [8, 10, 1.06, 0, 1, 0], + [8, 12, 1.06, 0, 1, 0], + [8, 8, 1.10, 0, 1, 0], + [8, 8, 1.09, 0, 1, 0], + [8, 8, 1.07, 0, 1, 0], + [8, 8, 1.08, 0, 1, 0], + [8, 5, 1.06, 0, 1, 0], + [8, 10, 1.10, 0, 1, 0], + [8, 10, 1.09, 0, 1, 0], + [8, 10, 1.07, 0, 1, 0], + [8, 10, 1.08, 0, 1, 0], + [8, 12, 1.10, 0, 1, 0], + [8, 12, 1.09, 0, 1, 0], + [8, 12, 1.07, 0, 1, 0], + [8, 12, 1.08, 0, 1, 0], + [0.0, 0.0, 0.95, 4, 0, 0], + [0.0, 0.0, 0.98, 4, 0, 0], + [0.0, 2.0, 1.0, 4, 0, 0], + [1.2, 1.2, 0.98, 4, 0, 0], + [1, 4, 1.045, 0, 1, 0], + [1, 4, 1.05, 0, 1, 0], + [1, 4, 1.055, 0, 1, 0], + [1, 4, 1.06, 0, 1, 0], + [1, 4, 1.065, 0, 1, 0], + [1, 4, 1.07, 0, 1, 0], + [1, 4, 1.075, 0, 1, 0], + [1, 4, 1.08, 0, 1, 0], + [1, 4, 1.085, 0, 1, 0], + [1, 4, 1.09, 0, 1, 0], + [1, 4, 1.095, 0, 1, 0], + [1, 4, 1.1, 0, 1, 0], + [1, 4, 1.2, 0, 1, 0], + [10.0, 15.0, 1.03, 0, 0, 0], + [10.0, 15.0, 1.03, 0, 1, 0], + [10.0, 18.0, 1.03, 0, 0, 0], + [10.0, 18.0, 1.03, 0, 1, 0], + [10.0, 21.0, 1.03, 0, 0, 0], + [10.0, 21.0, 1.03, 0, 1, 0], + ]] From 97d9d93d0c56adf5425af0f94c61b23326ed2ae1 Mon Sep 17 00:00:00 2001 From: Zixu Li <60847320+SDU-L@users.noreply.github.com> Date: Tue, 7 Jan 2025 22:10:59 +0800 Subject: [PATCH 3/4] Update module.py --- ann_benchmarks/algorithms/qsg_ngt/module.py | 71 +++++++++++++++------ 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/ann_benchmarks/algorithms/qsg_ngt/module.py b/ann_benchmarks/algorithms/qsg_ngt/module.py index 0d8c17609..feb89ffe6 100644 --- a/ann_benchmarks/algorithms/qsg_ngt/module.py +++ b/ann_benchmarks/algorithms/qsg_ngt/module.py @@ -2,10 +2,11 @@ import struct import subprocess import time - +import importlib +import gc import ngtpy from sklearn import preprocessing - +import numpy as np from ..base.module import BaseANN @@ -30,6 +31,9 @@ def __init__(self, metric, object_type, epsilon, param): self._rangeMax = int(param["rangeMax"]) self._searchA = int(param["searchA"]) self._ifES = int(param["ifES"]) + self._Q = int(param['Q']) + self._era = int(param["era"]) if "era" in param.keys() else 0 + print("QSG: edge_size=" + str(self._edge_size)) print("QSG: outdegree=" + str(self._outdegree)) print("QSG: indegree=" + str(self._indegree)) @@ -39,27 +43,31 @@ def __init__(self, metric, object_type, epsilon, param): print("QSG: object_type=" + object_type) print("QSG: range=" + str(self._range)) print("QSG: threshold=" + str(self._threshold)) - + print("QSG: Q=" + str(self._Q)) + print("QSG: era=" + str(self._era)) + def fit(self, X): print("QSG: start indexing...") + clear_cache = "sync; echo 3 > /proc/sys/vm/drop_caches" + os.system(clear_cache) dim = len(X[0]) print("QSG: # of data=" + str(len(X))) print("QSG: dimensionality=" + str(dim)) index_dir = "indexes" if not os.path.exists(index_dir): os.makedirs(index_dir) - index = os.path.join(index_dir, "ONNG-{}-{}-{}".format(self._edge_size, self._outdegree, self._indegree)) + index = os.path.join(index_dir, "ONNG-{}-{}-{}-{}-{}".format(self._edge_size, self._outdegree, self._indegree, self._max_edge_size, self._Q)) anngIndex = os.path.join(index_dir, "ANNG-" + str(self._edge_size)) print("QSG: index=" + index) - if (not os.path.exists(index)) and (not os.path.exists(anngIndex)): + if (not os.path.exists(anngIndex)): print("QSG: create ANNG") t = time.time() args = [ "ngt", "create", "-it", - "-p8", - "-b500", + "-p1", + "-b25", "-ga", "-of", "-D" + self._metric, @@ -75,13 +83,15 @@ def fit(self, X): "-M" + str(self._rangeMax), "-A" + str(self._searchA), "-H" + str(self._ifES), + "-Z" + str(self._era), anngIndex, ] subprocess.call(args) - idx = ngtpy.Index(path=anngIndex) - idx.batch_insert(X, num_threads=24, debug=False) - idx.save() - idx.close() + file_name = anngIndex + '/init_obj' + print("file_name : ", file_name) + X.astype('float32').tofile(file_name) + gc.collect() + print(subprocess.run(['python3', '/home/app/create.py', anngIndex, str(X.shape[0])])) print("QSG: ANNG construction time(sec)=" + str(time.time() - t)) if self._ifES == 1: if self._metric == "E": @@ -174,24 +184,26 @@ def fit(self, X): ] subprocess.call(args) print("QSG: degree adjustment time(sec)=" + str(time.time() - t)) - if not os.path.exists(index + "/qg"): + if (not os.path.exists(index + "/qg")): print("QSG:create and append...") t = time.time() - args = ["qbg", "create-qg", index] + args = ["qbg", "create-qg", index, "-Q" + str(self._Q)] subprocess.call(args) print("QSG: create qg time(sec)=" + str(time.time() - t)) + if (not os.path.exists(index + "/qg/grp")): print("QB: build...") t = time.time() args = [ "qbg", "build-qg", "-o" + str(self._sample), - "-M6", + "-M1", "-ib", "-I400", "-Gz", "-Pn", "-E" + str(self._max_edge_size), + # "-p2", index, ] subprocess.call(args) @@ -199,7 +211,12 @@ def fit(self, X): if os.path.exists(index + "/qg/grp"): print("QSG: index already exists! " + str(index)) t = time.time() - self.index = ngtpy.QuantizedIndex(index, self._max_edge_size) + print("QSG: creating index ") + print(X.shape[0] * X.shape[1]) + if X.shape[0] * X.shape[1] >= 500000000 : + self.index = ngtpy.QuantizedIndex(index, self._max_edge_size, objects = X.ctypes.data) + else : + self.index = ngtpy.QuantizedIndex(index, self._max_edge_size) self.index.set_with_distance(False) self.indexName = index print("QSG: open time(sec)=" + str(time.time() - t)) @@ -207,26 +224,40 @@ def fit(self, X): print("QSG: something wrong.") print("QSG: end of fit") print("QSG:Successfully Build Index") + os.system(clear_cache) def set_query_arguments(self, parameters): - result_expansion, epsilon = parameters - print("QSG: result_expansion=" + str(result_expansion)) + if len(parameters) == 6 : + se, re, epsilon, approx, b, g = parameters + ee = 0 + else : + se, re, epsilon, approx, b, g, ee = parameters + print("QSG: se=" + str(se)) + print("QSG: re=" + str(re)) print("QSG: epsilon=" + str(epsilon)) - self.name = "QSG-NGT(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %1.3f)" % ( + print("QSG: approx=" + str(approx)) + self.name = "QSG(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%1.3f,%1.3f,%s,%d,%d,%f,%d)" % ( self._edge_size, + self._epsilon, self._outdegree, self._indegree, self._max_edge_size, + self._Q, str(self._range), str(self._threshold), str(self._rangeMax), str(self._searchA), str(self._ifES), + se, + re, epsilon, - result_expansion, + approx, + b, + g, + ee ) epsilon = epsilon - 1.0 - self.index.set(epsilon=epsilon, result_expansion=result_expansion) + self.index.set(epsilon=epsilon, se=se, re=re, approx=approx, b = b, g = g, ee = ee) def query(self, v, n): return self.index.search(v, n) From 8254bf9616f57180bd325903ca2c5f6401916e0d Mon Sep 17 00:00:00 2001 From: Zixu Li <60847320+SDU-L@users.noreply.github.com> Date: Tue, 7 Jan 2025 22:12:51 +0800 Subject: [PATCH 4/4] Update Dockerfile --- ann_benchmarks/algorithms/qsg_ngt/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ann_benchmarks/algorithms/qsg_ngt/Dockerfile b/ann_benchmarks/algorithms/qsg_ngt/Dockerfile index 1aa18499e..3e77b5040 100644 --- a/ann_benchmarks/algorithms/qsg_ngt/Dockerfile +++ b/ann_benchmarks/algorithms/qsg_ngt/Dockerfile @@ -4,8 +4,9 @@ RUN apt update RUN apt install -y git cmake g++ python3 python3-setuptools python3-pip libblas-dev liblapack-dev RUN pip3 install wheel pybind11==2.5.0 RUN git clone https://github.com/WPJiang/HWTL_SDU-ANNS.git -RUN cp HWTL_SDU-ANNS/lib/* /usr/local/lib/ -RUN cp HWTL_SDU-ANNS/bin/* /usr/local/bin/ +RUN cp HWTL_SDU-ANNS/create.py /home/app/ +RUN cp -r HWTL_SDU-ANNS/lib/* /usr/local/lib/ +RUN cp -r HWTL_SDU-ANNS/bin/* /usr/local/bin/ RUN chmod a+x /usr/local/bin/* && chmod a+x HWTL_SDU-ANNS/* RUN ldconfig RUN pip3 install HWTL_SDU-ANNS/qsgngt-*-linux_x86_64.whl