Comment construire OpenCV avec TBB?
Je suis en train d'essayer et de ne pas le faire opencv_traincascade
d'utiliser plusieurs threads. La seule documentation que je peux trouver, dit "de construire OpenCV avec TBB". Je ne suis pas sûr si je ne suis pas pour réussir à construire OpenCV avec TBB, ou si il y a quelque drapeau que je dois mettre pour opencv_traincascade
.
J'ai téléchargé la version d'OpenCV 2.3.1 windows superpack et tbb40_20111003oss_win.zip
dont j'ai extrait de C:\tbb40_20111003oss
. J'ai ensuite généré VC8 .sln
et .proj
fichiers en utilisant CMake, réglage
WITH_TBB: ON
TBB_INCLUDE_DIR:PATH=C:\tbb40_20111003oss\include
TBB_LIB_DIR:PATH=C:/tbb40_20111003oss/lib/intel64/vc8
OpenCV puis appuie sans erreurs, mais quand je lance opencv_traincascade
c'est single thread. Personne ne sait ce que je fais mal?
source d'informationauteur theotherphil
Vous devez vous connecter pour publier un commentaire.
Si vous êtes sur Mac, vous pouvez le faire avec homebrew:
Ou si vous avez déjà installé avec homebrew:
Aussi, le
info
commande vous informe sur d'autres indicateurs qui pourraient vous intéresser, par exemple,--with-java
Je sais que c'est un vieux thread mais je pense que le problème est que vous utilisez Traincascade avec Haart fonction insdead de l'aide avec le LBP caractéristiques qui utilise entier au lieu de la virgule flottante et sont à travailler 3 fois plus rapide.
Voir le commentaire dans cette question pour plus d'informations de l'auteur à ce sujet. Résumé: la thérapie Haart formation est difficile à paralelize mais LBP est beaucoup plus facile et de prendre avantage d'un grand nombre de processeurs.
Espère que ça aide!
Essayer setNumThreads(), avec le nombre de vos cœurs de processeur en tant que paramètres. Il y a une fonction d'aide pour trouver le nombre optimal de fils (est égal au nombre de cœurs), mais je ne me souviens pas.
Et assurez-vous aussi de reconstruire le train_cascade exe
Pour linux, n':
Instructions ici: http://devel-open.blogspot.com.ar/2012/06/instalando-opencv-240-en-ubuntu.html
Après la construction de la tbb binaires, assurez-vous que votre chemin est correctement diriger votre fichier exécutable pour le tbb dll. Il est possible que vous chargez les non-tbb dll (cela m'est arrivé) et ceux-ci ne fournira pas de multithreading.
Aussi, un point de contact est l'installation d'Intel TBB sur le système: