Skip to content
/ MN-RU Public

This repository contains the implementation of MN-RU for the paper https://arxiv.org/abs/2407.07871.

Notifications You must be signed in to change notification settings

xwt1/MN-RU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository is for MN-RU algorithm. All experiment has implemented in C++ on a PC with Intel Xeon CPU E5-2678 v3 @ 2.50GHz and 110GB memory, running Ubuntu 22.04.

You could reproduce it with the following steps, the overall experiment may take days.

Suppose we are in the root directory of the repo.

before start, you need to:

apt update && \
apt install -y g++ && \
apt install -y cmake && \
apt install -y build-essential && \
apt install -y make && \
apt install wget && \
apt install zip unzip && \
apt install tar && \
apt install python3 && \
apt install python3-dev python3-pip && \
pip install numpy pandas matplotlib

evaluation

Our repository contains the results in the ./output directory and its subdirectories. You can view them directly or run the following command to see the results.

  1. download datasets
bash ./shell/downloadDatasets.sh
  1. build the project
bash ./shell/build.sh
  1. special deal with sift2M
bash ./shell/specialDealWithSift2M.sh
  1. generate index and groundTruth
bash ./shell/generateIndexAndGroundTruth.sh
  1. run full_coverage scenario
bash ./shell/runMultWithBuild.sh
  1. run random scenario
bash ./shell/runRandomWithBuild.sh
  1. run new_insert scenario
bash ./shell/runNewInsertWithBuild.sh
  1. run backup
bash ./shell/runBackUp.sh
  1. Draw the result Figure
bash ./shell/runDrawFigure.sh

Viewing Results

After drawing the result figures, you can find them in the ./output directory and its subdirectories.

MN-RU algorithm position

  • MN-RU α: ./external/hnswlib_method7/hnswlib/hnswalg.h
  • MN-RU β: ./external/hnswlib_method8/hnswlib/hnswalg.h
  • MN-RU γ: ./external/hnswlib_method9/hnswlib/hnswalg.h
  • MN-THN-RU: ./external/hnswlib_method10/hnswlib/hnswalg.h You could just see the core algorithm in function updatePoint and repairConnectionsForUpdate

About

This repository contains the implementation of MN-RU for the paper https://arxiv.org/abs/2407.07871.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published