ggnn
release 0.5
*Fabian Groh,Lukas Ruppert,Patrick Wieschollek,Hendrik PA Lensch
在高維度中的大約最近的鄰居(ANN)搜索是幾個計算機視覺系統不可或缺的一部分,並且具有明確的內存表示形式的深度學習中的重要性。自從PQT和FAISS開始利用GPU提供的大規模並行性,因此基於GPU的實現是當今最先進的ANN方法的關鍵資源。儘管這些方法中的大多數都允許更快的查詢,但更少的重點是加速基礎索引結構的構建。在本文中,我們根據最近的鄰居圖和圖表上的信息傳播提出了一種新穎的搜索結構。我們的方法旨在利用GPU架構來加速索引結構的層次結構並執行查詢。經驗評估表明,在構建時間,準確性和搜索速度方面,GGNN顯著超過了基於GPU和CPU的最新系統。
目前正在審查這項工作。我們已經更新了代碼。一些新結果如下所示。 
# Get the repository and dependencies
git clone --recursive https://github.com/cgtuebingen/ggnn.git
cd ggnn
# get the SIFT1M data
cd data
./get_sift1m
cd ..
# Build the demo
mkdir build_local
cd build_local
cmake ..
make
# Example for SIFT1M on GPU 0:
./sift1m_multi --base_filename ../data/sift/sift_base.fvecs
--query_filename ../data/sift/sift_query.fvecs
--groundtruth_filename ../data/sift/sift_groundtruth.ivecs
--gpu_ids= " 0 "
# Example usage with 2 GPUs and 4 shards in total (4x250k = 1M):
./sift1m_multi --base_filename ../data/sift/sift_base.fvecs
--query_filename ../data/sift/sift_query.fvecs
--groundtruth_filename ../data/sift/sift_groundtruth.ivecs
--gpu_ids= " 0 1 "
--factor 10000
--base 100
--shard 25要求:
sudo apt install libgflags-dev )本機構建的一種替代方法是使用nvidia-docker。在https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#installing-docker-ce上按照https://docs.nvidia.com/datacenter/cloud-native/container-tooker-ce遵循指示。
通過
cd docker
make
cd ../確保您可以運行
sudo docker run --gpus all cgtuebingen/ggnn:v1 nvidia-smi現在通過
user@host $ sudo docker run --rm -it --user " $( id -u ) : $( id -g ) " -v ${PWD} :/ggnn:rw --gpus all cgtuebingen/ggnn:v1 bash
user@container $ ./build.sh
cd build_docker
make