[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