FLANN Autotune坚持“估计支票数量”

时间:2013-12-04 01:35:24

标签: python flann

我正在尝试在Python上使用FLANN,训练集矩阵为6,000,000 x 100.我正在使用以下命令构建索引:

flann = pyflann.FLANN()
params = flann.build_index(trainX, algorithm="autotuned", target_precision=0.9, sample_fraction=0.1, log_level="info")

我得到了很多交叉验证结果,最后一行显示了这个:

***Earlier results omitted***
KDTree using params: trees=32
  Nodes  Precision()   Time(s)   Time/vec(ms)  Mean dist
---------------------------------------------------------
       1      0.084    0.15658    0.15658     2.9036
       2      0.098    0.15296    0.15296      2.097
       4      0.137    0.15613    0.15613     1.6675
       8      0.213    0.15454    0.15454     1.3968
      16      0.324    0.16528    0.16528     1.2296
      32      0.445    0.16481    0.16481     1.1253
      64      0.567    0.20677    0.20677     1.0767
     128      0.685    0.28533    0.28533     1.0437
     256      0.777    0.42094    0.42094      1.027
     512      0.863    0.73215    0.73215     1.0142
    1024      0.916     1.2737     1.2737     1.0062
Start linear estimation
     768      0.895    0.94626    0.94626     1.0086
     896      0.903      1.073      1.073     1.0077
     832      0.899     1.0092     1.0092     1.0081
KDTree buildTime=71.6163, searchTime=1.00915
----------------------------------------------------
Autotuned parameters:
algorithm : 1
trees : 8
----------------------------------------------------
Computing ground truth
Estimating number of checks
  Nodes  Precision()   Time(s)   Time/vec(ms)  Mean dist
---------------------------------------------------------
       1      0.445      3.053      3.053     2.0321
       2      0.445     2.7963     2.7963     2.0321
       4      0.457     3.2702     3.2702      1.514
       8      0.475     3.0651     3.0651      1.321
      16      0.503     3.0939     3.0939     1.1812
      32      0.527     3.1058     3.1058     1.1132
      64       0.57     3.6118     3.6118     1.0734
     128      0.608     3.6885     3.6885     1.0467
     256      0.642     3.3601     3.3601     1.0306
     512      0.672     3.2895     3.2895     1.0187
    1024      0.712     3.7659     3.7659     1.0087
    2048      0.732     4.7198     4.7198     1.0047
    4096      0.745     5.3416     5.3416     1.0027
    8192      0.757     7.7298     7.7298     1.0012
   16384      0.762     11.114     11.114     1.0006
   32768       0.77     17.114     17.114     1.0001
   65536      0.772      31.03      31.03          1
  131072      0.772     61.822     61.822          1
  262144      0.772     133.58     133.58          1
  524288      0.773     284.51     284.51          1
 1048576      0.773     605.73     605.73          1
 2097152      0.773     1437.5     1437.5          1
 4194304      0.773     3971.2     3971.2          1
 8388608      0.773     6485.3     6485.3          1
16777216      0.773     6476.2     6476.2          1
33554432      0.773     6456.1     6456.1          1
67108864      0.773     6494.2     6494.2          1

在我看来,已经选择了一个KDTree(算法= 1)和8棵树。但现在最后一系列测试“估计支票数量”被卡住了。它已经在一夜之间运行但尚未完成。我认为这是因为精度无法达到0.9的目标,所以它只是不断增加节点。

有人可以告诉我如何继续吗?我应该杀了它并手动指定一个带有“自动调整参数”的kd树吗?无论如何,它正在计算的“检查次数”是多少 - 我认为已经找到树和节点的数量了?

0 个答案:

没有答案