simple_flann

simple_flann包括一个KDTrees检索算法和一个基于p稳定分布的LSH


Project maintained by mzhaoshuai Hosted on GitHub Pages — Theme by mattgraham

ReadMe :skull:

工程说明

文档结构

|项目 |说明 |–|–| |flann.vcxproj |VS2013建立的测试工程,用兼容的VS编译器打开即能运行 | |test_main.cpp |这个源文件中包含了测试的主要函数,添加这个源文件到空白工程即可快速开始实验 | |dataset/sift |文件夹下面存放的是SIFT1M测试数据集 | |dataset/gist |文件夹下面存放的是GIST1M测试数据集 | |flann/algorithms |包含LSH和KDTrees实现的具体源文件 | |flann/io |包含读取读取和存储数据的源文件 | |flann/util |常用的一些数据结构等。 | |output | 存储输出的文件|

快速开始

fvecs_ivecs_read(Matrix<T>& dataset, const std::string& filename, int start, int end)
参数 说明
dataset Matrix类型的类
filename 文件路径
start 开始的位置。从1开始计算
end 结束的位置。不能超过文档本身包含的数据个数
  1. kd-tree在SIFT1M数据集下的测试函数
void test_kdtree_sift(size_t knn,int tree_num)

|参数 |说明 |–|–| |knn | 搜索的近邻个数 | |tree_num | 搜索时要使用的树的个数 |

  1. LSH在SIFT1M数据集下的测试函数
void test_lsh_sift(size_t knn,unsigned int table_number,unsigned int key_size,float gap_w)

|参数 |说明 |–|–| |knn | 搜索的近邻个数| |table_number | 用的哈希表个数| |key_size | 关键字的个数,第一次哈希后得到的向量维数| |gap_w | 分割间隔|

  1. kd-tree在GIST1M数据集下的测试函数
    void test_kdtree_gist(size_t knn,int tree_num)
    

    |参数 |说明 |–|–| |knn | 搜索的近邻个数 | |tree_num | 搜索时要使用的树的个数 |

  2. LSH在GIST1M数据集下的测试函数
void test_lsh_gist(size_t knn,unsigned int table_number,unsigned int key_size,float gap_w)

|参数 |说明 |–|–| |knn | 搜索的近邻个数 | |table_number | 用的哈希表个数 | |key_size | 关键字的个数,第一次哈希后得到的向量维数| |gap_w | 分割间隔|

更多的详细信息见注释。

注意事项