这些是我在命令行中传递的参数:
list1
Out[164]: ('d', 'c', 'a')
list2
Out[165]: (4, 8, 9)
并列出:
opencv_traincascade -data car_data -vec cars.vec -bg neg.txt -numPos 8792 -numNeg 8968 -numStages 15 -numHitRate 0.995 -w 64 -h 64 -precalcValBufSize 5120 -precalcIdxBufSize 5120 -numThreads 8
看起来忽略了numThreads。一个小时后,我仍然在这个街区
PARAMETERS:
cascadeDirName: car_data
vecFileName: cars.vec
bgFileName: neg.txt
numPos: 8792
numNeg: 8968
numStages: 15
precalcValBufSize[Mb] : 5120
precalcIdxBufSize[Mb] : 5120
acceptanceRatioBreakValue : -1
stageType: BOOST
featureType: HAAR
sampleWidth: 64
sampleHeight: 64
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC
Number of unique features given windowSize [64,64] : 8103936
内存使用量为11.5 GB,CPU使用率约为14%。
这是===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 8792 : 8792
NEG count : acceptanceRatio 8968 : 1
Precalculation time: 117.973
是什么?
为什么忽略Precalculation time
?
完成这项工作需要多长时间?
答案 0 :(得分:2)
也许它会忽略numThreads
,因为您尚未构建启用了TBB支持的OpenCV。
在OpenCV网站上的帖子中,我记得曾经读过opencv_traincascade应用程序可以使用TBB进行多线程,但是要在多核模式下使用它,必须在启用TBB支持的情况下构建OpenCV。