[mlpack-svn] [MLPACK] #191: bin/allknn failing for some data sets

MLPACK Trac trac at coffeetalk-1.cc.gatech.edu
Thu Jan 26 14:16:13 EST 2012


#191: bin/allknn failing for some data sets
--------------------+-------------------------------------------------------
 Reporter:  pram    |        Owner:              
     Type:  defect  |       Status:  new         
 Priority:  major   |    Milestone:  mlpack 1.0.1
Component:  mlpack  |     Keywords:              
 Blocking:          |   Blocked By:              
--------------------+-------------------------------------------------------
 The binary is compiled in debug mode on no.cc. I am using the following
 files:
 -r /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv (n
 = 3706, d -= 51)
 -q /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv (n
 = 6040, d = 51)

 These are the commands I used and the following output:

 1) Dual-tree: ./bin/allknn -r
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv -q
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv -k 1
 -d /net/hg200/pram/wrkspc_data/maxip/movielens_nn_dist.csv -n
 /net/hg200/pram/wrkspc_data/maxip/movielens_nn.csv -v

 Output:
 [DEBUG] Compiled with debugging symbols.
 [INFO ] Loading
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_5
 0.csv' as CSV data.
 [INFO ] Loaded reference data from
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv'.
 [INFO ] Building reference tree...
 [INFO ] Loading
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv' as
 CSV data.
 [INFO ] Loaded query data from
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv'.
 [INFO ] Building query tree...
 [INFO ] Tree built.
 [INFO ] Computing 1 nearest neighbors...
 [DEBUG] [bt]: (1) ./bin/allknn :
 mlpack::bound::HRectBound<2>::MinDistance(mlpack::bound::HRectBound<2>
 const&) const+0x36 [0x42497c]
 [DEBUG] [bt]: (2) ./bin/allknn : double
 mlpack::neighbor::NearestNeighborSort::BestNodeToNodeDistance<mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> >
 >(mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> > const*,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> > const*)+0x36 [0x424aee]
 [DEBUG] [bt]: (3) ./bin/allknn :
 mlpack::neighbor::NeighborSearch<mlpack::neighbor::NearestNeighborSort,
 mlpack::metric::LMetric<2, false>,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> >
 >::ComputeDualNeighborsRecursion(mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> >*,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> >*, double, arma::Mat<unsigned long>&,
 arma::Mat<double>&)+0x44a [0x42c442]
 [DEBUG] [bt]: (4) ./bin/allknn :
 mlpack::neighbor::NeighborSearch<mlpack::neighbor::NearestNeighborSort,
 mlpack::metric::LMetric<2, false>,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> >
 >::ComputeDualNeighborsRecursion(mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> >*,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> >*, double, arma::Mat<unsigned long>&,
 arma::Mat<double>&)+0x597 [0x42c58f]
 [DEBUG] [bt]: (5) ./bin/allknn :
 mlpack::neighbor::NeighborSearch<mlpack::neighbor::NearestNeighborSort,
 mlpack::metric::LMetric<2, false>,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> > >::Search(unsigned long, arma::Mat<unsigned long>&,
 arma::Mat<double>&)+0x63c [0x431f2c]
 [DEBUG] [bt]: (6) ./bin/allknn : main+0x9db [0x417a81]
 [DEBUG] [bt]: (7) /lib64/libc.so.6 : __libc_start_main+0xf4 [0x318ac1d994]
 [DEBUG] [bt]: (8) ./bin/allknn : __gxx_personality_v0+0x1e9 [0x416a89]
 [DEBUG] Assert Failed.
 [INFO ]
 [INFO ] Execution parameters:
 [INFO ]   distances_file:
 /net/hg200/pram/wrkspc_data/maxip/movielens_nn_dist.csv
 [INFO ]   help: false
 [INFO ]   info: ""
 [INFO ]   k: 1
 [INFO ]   leaf_size: 20
 [INFO ]   naive: false
 [INFO ]   neighbors_file:
 /net/hg200/pram/wrkspc_data/maxip/movielens_nn.csv
 [INFO ]   query_file:
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv
 [INFO ]   reference_file:
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv
 [INFO ]   single_mode: false
 [INFO ]   verbose: true
 [INFO ]
 [INFO ] Program timers:
 [INFO ]   computing_neighbors: 1327604346.859360s (15365 days, 18 hrs, 59
 mins,6.8secs)
 [INFO ]   total_time: 1.003714s
 [INFO ]   tree_building: 0.106337s

 2) Naive: ./bin/allknn -r
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv -q
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv -k 1
 -d /net/hg200/pram/wrkspc_data/maxip/movielens_nn_dist.csv -n
 /net/hg200/pram/wrkspc_data/maxip/movielens_nn.csv -Nv

 Output:
 [DEBUG] Compiled with debugging symbols.
 [INFO ] Loading
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv' as
 CSV data.
 [INFO ] Loaded reference data from
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv'.
 [INFO ] Building reference tree...
 [INFO ] Loading
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv' as
 CSV data.
 [INFO ] Loaded query data from
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv'.
 [INFO ] Building query tree...
 [INFO ] Tree built.
 [INFO ] Computing 1 nearest neighbors...

 error: Mat::unsafe_col(): out of bounds

 terminate called after throwing an instance of 'std::logic_error'
   what():
 Aborted

 (gdb) run
 error: Mat::unsafe_col(): out of bounds

 terminate called after throwing an instance of 'std::logic_error'
   what():

 Program received signal SIGABRT, Aborted.
 0x000000318ac30265 in raise () from /lib64/libc.so.6

 (gdb) where
 #0  0x000000318ac30265 in raise () from /lib64/libc.so.6
 #1  0x000000318ac31d10 in abort () from /lib64/libc.so.6
 #2  0x000000318dcbed14 in __gnu_cxx::__verbose_terminate_handler() ()
    from /usr/lib64/libstdc++.so.6
 #3  0x000000318dcbce16 in ?? () from /usr/lib64/libstdc++.so.6
 #4  0x000000318dcbce43 in std::terminate() () from
 /usr/lib64/libstdc++.so.6
 #5  0x000000318dcbcf2a in __cxa_throw () from /usr/lib64/libstdc++.so.6
 #6  0x0000000000422e78 in arma::arma_stop<char const*> (x=@0x7fffffffd128)
     at /usr/include/armadillo_bits/debug.hpp:117
 #7  0x00000000004230de in arma::arma_check<char [33]> (state=true, x=...)
     at /usr/include/armadillo_bits/debug.hpp:346
 #8  0x000000000042baf2 in arma::Mat<double>::unsafe_col
 (this=0x7fffffffdab0,
     col_num=0) at /usr/include/armadillo_bits/Mat_meat.hpp:1995
 #9  0x000000000042bbca in
 mlpack::neighbor::NeighborSearch<mlpack::neighbor::NearestNeighborSort,
 mlpack::metric::LMetric<2, false>,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> > >::ComputeBaseCase (this=0x6491c0,
     queryNode=0x7fffffffde70, referenceNode=0x7fffffffdeb0, neighbors=...,
     distances=...)
     at
 /net/hu12/pram/work_space/mlpack/trunk/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp:335
 #10 0x000000000042c0dd in
 mlpack::neighbor::NeighborSearch<mlpack::neighbor::NearestNeighborSort,
 mlpack::metric::LMetric<2, false>,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> > >::ComputeDualNeighborsRecursion (
     this=0x6491c0, queryNode=0x7fffffffde70, referenceNode=0x7fffffffdeb0,
     lowerBound=0, neighbors=..., distances=...)
     at
 /net/hu12/pram/work_space/mlpack/trunk/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp:400
 #11 0x0000000000431f2c in
 mlpack::neighbor::NeighborSearch<mlpack::neighbor::NearestNeighborSort,
 mlpack::metric::LMetric<2, false>,
 mlpack::tree::BinarySpaceTree<mlpack::bound::HRectBound<2>,
 mlpack::neighbor::QueryStat<mlpack::neighbor::NearestNeighborSort>,
 arma::Mat<double> > >::Search (this=0x6491c0, k=1,
     resultingNeighbors=..., distances=...)
     at
 /net/hu12/pram/work_space/mlpack/trunk/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp:213
 #12 0x0000000000417a81 in main (argc=12, argv=0x7fffffffe228)
     at
 /net/hu12/pram/work_space/mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_main.cpp:164




 3) Single-tree:./bin/allknn -r
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv -q
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv -k 1
 -d /net/hg200/pram/wrkspc_data/maxip/movielens_nn_dist.csv -n
 /net/hg200/pram/wrkspc_data/maxip/movielens_nn.csv -sv

 Output:
 [DEBUG] Compiled with debugging symbols.
 [INFO ] Loading
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv' as
 CSV data.
 [INFO ] Loaded reference data from
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv'.
 [INFO ] Building reference tree...
 [INFO ] Loading
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv' as
 CSV data.
 [INFO ] Loaded query data from
 '/net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv'.
 [INFO ] Building query tree...
 [INFO ] Tree built.
 [INFO ] Computing 1 nearest neighbors...
 [INFO ] Neighbors computed.
 [INFO ] Re-mapping indices...
 [INFO ] Saving CSV data to
 '/net/hg200/pram/wrkspc_data/maxip/movielens_nn_dist.csv'.
 [INFO ] Saving CSV data to
 '/net/hg200/pram/wrkspc_data/maxip/movielens_nn.csv'.
 [INFO ]
 [INFO ] Execution parameters:
 [INFO ]   distances_file:
 /net/hg200/pram/wrkspc_data/maxip/movielens_nn_dist.csv
 [INFO ]   help: false
 [INFO ]   info: ""
 [INFO ]   k: 1
 [INFO ]   leaf_size: 20
 [INFO ]   naive: false
 [INFO ]   neighbors_file:
 /net/hg200/pram/wrkspc_data/maxip/movielens_nn.csv
 [INFO ]   query_file:
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensUsers_50.csv
 [INFO ]   reference_file:
 /net/hg200/pram/datasets/ip_datasets/MovieLens/MovieLensItems_50.csv
 [INFO ]   single_mode: true
 [INFO ]   verbose: true
 [INFO ]
 [INFO ] Program timers:
 [INFO ]   computing_neighbors: 0.000012s
 [INFO ]   total_time: 0.997204s
 [INFO ]   tree_building: 0.105990s

 Everything seems fine, but when you check the output files, they are
 empty:
 -rw-r--r-- 1 pram fastlab 0 Jan 26 14:04 ../maxip/movielens_nn.csv
 -rw-r--r-- 1 pram fastlab 0 Jan 26 14:04 ../maxip/movielens_nn_dist.csv


 The binary has similar behavior with another data set I tried:

 -r /net/hg200/pram/datasets/nn_datasets/optd_r.csv (n = 1379, d = 64)
 -q /net/hg200/pram/datasets/nn_datasets/optd_q.csv (n = 450, d = 64)

 Failing for Naive, and empty output files for single and dual-tree search.

-- 
Ticket URL: <http://trac.research.cc.gatech.edu/fastlab/ticket/191>
MLPACK <www.fast-lab.org>
MLPACK is an intuitive, fast, and scalable C++ machine learning library developed by the FASTLAB at Georgia Tech under Dr. Alex Gray.


More information about the mlpack-svn mailing list