Opened 15 years ago
Closed 15 years ago
#7 closed defect (fixed)
HaarSingleStumpLearner coredump
| Reported by: | Owned by: | busarobi | |
|---|---|---|---|
| Priority: | major | Milestone: | Multiboost Refactoring |
| Component: | Multiboost code | Version: | |
| Keywords: | Cc: | balazs.kegl@…, busarobi@… |
Description
{{{multiboost --fileformat arff --csample num 100 --iisize 15x15 --seed 71
--traintest ./uspsHaarTrain.arff ./uspsHaarTest.arff 5 --outputinfo ./OK-
uspsHaar-TreeLearner-HaarSingleStumpLearner-traintest.dta --shypname ./OK-
uspsHaar-TreeLearner-HaarSingleStumpLearner-traintest.xml --learnertype
TreeLearner --baselearnertype HaarSingleStumpLearner 5 --verbose 6
--> Using learner: TreeLearner
Warning: No strong learner is given. Set to default (AdaBoost).
The strong learner is AdaBoostMH
Segmentation fault
}}}
with gdb :
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x00000001000e5cf7 in MultiBoost::TreeLearner::initLearningOptions
(this=0x100b00fe0, args=@0x7fff5fbfe600) at
src/WeakLearners/TreeLearner.cpp:90
90 pWeakHypothesisSource->initLearningOptions(args);
(gdb) l
85 cerr << "The weak hypothesis must be a
ScalarLearner!!!" << endl;
86 exit(-1);
87 }
88
89
90 pWeakHypothesisSource->initLearningOptions(args);
91
92 for( int ib = 0; ib < _numBaseLearners; ++ib ) {
93
_baseLearners.push_back(dynamic_cast<ScalarLearner*>(pWeakHypothesisSource->create()));
94
dynamic_cast<BaseLearner*>(_baseLearners[ib])->initLearningOptions(args);
Attachments (0)
Change History (5)
comment:1 by , 15 years ago
comment:2 by , 15 years ago
it's still crashing :
(gdb) run --fileformat arff --csample num 100 --iisize 15x15 --seed 71 --traintest ./uspsHaarTrain.arff ./uspsHaarTest.arff 5 --outputinfo ./OK-uspsHaar-TreeLearner-HaarSingleStumpLearner-traintest.dta --shypname ./OK-uspsHaar-TreeLearner-HaarSingleStumpLearner-traintest.xml --learnertype TreeLearner --baselearnertype HaarSingleStumpLearner 5 --verbose 6
Starting program: /scratch/fradav/MultiBoostSVN/MultiBoost/multiboost --fileformat arff --csample num 100 --iisize 15x15 --seed 71 --traintest ./uspsHaarTrain.arff ./uspsHaarTest.arff 5 --outputinfo ./OK-uspsHaar-TreeLearner-HaarSingleStumpLearner-traintest.dta --shypname ./OK-uspsHaar-TreeLearner-HaarSingleStumpLearner-traintest.xml --learnertype TreeLearner --baselearnertype HaarSingleStumpLearner 5 --verbose 6
--> Using learner: TreeLearner
Warning: No strong learner is given. Set to default (AdaBoost).
The strong learner is AdaBoostMH
Program received signal SIGSEGV, Segmentation fault.
0x00000000004a9f31 in MultiBoost::TreeLearner::initLearningOptions (this=0x1706ee0, args=@0x7fffaa767da0) at src/WeakLearners/TreeLearner.cpp:90
90 pWeakHypothesisSource->initLearningOptions(args);
(gdb) backtrace
#0 0x00000000004a9f31 in MultiBoost::TreeLearner::initLearningOptions (this=0x1706ee0, args=@0x7fffaa767da0)
at src/WeakLearners/TreeLearner.cpp:90
#1 0x0000000000406ae7 in MultiBoost::AdaBoostMHLearner::run (this=0x172cc10, args=@0x7fffaa767da0)
at src/StrongLearners/AdaBoostMHLearner.cpp:147
#2 0x00000000004e6ef1 in main (argc=25, argv=0x7fffaa768da8) at src/main.cpp:506
(gdb)
comment:3 by , 15 years ago
| Milestone: | → Multiboost Refactoring |
|---|
comment:4 by , 15 years ago
The bug was in the registration of HaarSingleStumpLearner because its name in the register did not coincide with the name of the class. So, we had changed this line
REGISTER_LEARNER_NAME(HaarSingleStump, HaarSingleStumpLearner)
to
REGISTER_LEARNER(HaarSingleStumpLearner)
The shouldn't use REGISTER_LEARNER_NAME macro later on.
comment:5 by , 15 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
FD,
please check whether the current version in the SVN has the same problem. I think this bug has been fixed. The problem was in the implementation of function 'cut'.
cheers,robi