data process for large scale datasets

Kmeans:   总体而言,速度(单线程): yael_kmeans > litekmeans ~ vl_kmeans

  1.vl_kemans (win10 + matlab 15 + vs13编译有问题,但win7 + matlab13 +vs12可以)

  2.litekmeans (直接使用,single form更快)

     http://www.cad.zju.edu.cn/home/dengcai/Data/code/litekmeans.m

  3.yael_kmeans (multithreading)  编译时选择useopenmp=yes, matlab的Make文件要加上-fopenmp,否则无法多线程(会出现 ignoring #pragma omp parallel )。 yael_kmeans加上nt的设置,否则无法调整nt值。例如:

           mex mex_sum_openmp.c CFLAGS="$CFLAGS -fopenmp" LDFLAGS="$LDFLAGS -fopenmp"

    流程:./configure.sh配置 -> make -> 编译通用文件 -> 修改matlab中的Make,然后在matlab中运行make文件

    https://gforge.inria.fr/frs/?group_id=2151&release_id=6405

    openmp编程:http://www.ibm.com/developerworks/cn/aix/library/au-aix-openmp-framework/

ANN:

  1.Flann (按照教程编译)

    http://www.cs.ubc.ca/research/flann/

   特别的,针对python版本编译:把src/python的pyflann拷贝刀./build/src/python下,然后再运行sudo python setup.py install

    

原文地址:https://www.cnblogs.com/jeffwilson/p/5370256.html