2015-05-05 4 views
9

Sorry, wenn das ist einfach, aber ich versuche, dlib zu installieren mit Python wie in (http://blog.dlib.net/2014/04/dlib-187-released-make-your-own-object.html) "Machen Sie Ihre eigenen Objektdetektor in Python!" .Wie bekomme ich Python-Import mit dlib (mit cmake und osx)

heruntergeladen ich die Installationsdateien, entpackt und verwendet Cmake wie in der Anleitung installieren (http://dlib.net/compile.html)

cd examples 
mkdir build 
cd build 
cmake .. 
cmake --build . --config Release 

die

jedoch die Eingabe von "Import DLIB" in Python gibt nur Import gut zu funktionieren schien : Kein Modul namens dlib.

Irgendeine Idee, wie ich Python erzähle, wie man das Ding findet/benutzt?

Antwort

1

Sie kompilieren die C++ - Beispielprogramme. Die Python-Beispiele befinden sich im Ordner python_examples. Außerdem enthält jedes Beispiel oben Anweisungen, wie Sie es verwenden können.

+0

Danke. Ich habe später die python_examples Anweisungen gefunden, built boost-python installiert, compile_dlib_python_module.bat ausgeführt, Python gestartet und dlib und Python segfaulted eingegeben ("Segmentation fault: 11"): Python Version: 2.7.8 (2.7.8) Code Typ: X86-64 (Native) Parent-Prozess: Bash [8652] Verantwortlich: Terminal [184] Crashed Thread: 0 Dispatch-Warteschlange: com.apple.main-Thread) Irgendwelche Ideen? –

4

auf Ubuntu hatte ich folgendes zu tun:

sudo apt-get install libboost-python-dev cmake 

cd dlib-18.15/python_examples

Dann:

./compile_dlib_python_module.bat 

ich dann kopiert die dlib.so dist-Pakete, so dass es in sein würde, mein Weg.

sudo cp dlib.so /usr/local/lib/python2.7/dist-packages/ 

Gemäß der Dokumentation compile_dlib_python_module.bat wird auf jedem Betriebssystem arbeiten, sobald Sie beide CMake und boost-python installiert haben.

+0

Danke - Ich habe den Mac Äquivalent und es funktionierte außer Python Import dlib jetzt segfaults. Onward ... –

+0

Hatte eine schnelle Google und es scheint, dass es mit Boost-Python verwandt ist, können Sie die vollständige Traceback zu Pastebin hinzufügen? –

+0

Hier ist die Traceback http://pastebin.com/wwcMVXML die Brauen-Boost-Datei war boost-1.56.0.mavericks.bottle.1.tar.gz und ich bin auf Osx 10.9.5. Vielen Dank im Voraus, wenn Sie etwas finden können –

4

Ich habe es endlich zur Arbeit gebracht! Ich werde später einen ausführlichen Blog-Post darüber veröffentlichen, aber hier ist der Kernpunkt für jetzt. Im Grunde, wenn ich die Ausgabe von cmake manuell inspizierte, kompilierte und verlinkte dlib gegen die Systemversion von Python nicht die Homebrew-Version von Python.

Wenn Sie an den Details interessiert sind, scheint es, dass cmake versucht zu kompilieren und gegen /usr/lib/libpython2.7.dylib verknüpfen. Dies ist jedoch die Systemversion von Python. Es sollte eine Verknüpfung gegen /usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib kompilieren, die die Homebrew-Version von Python ist.

Ich manuell bearbeitet CMakeFiles/dlib_.dir/build.make und /CMakeFiles/dlib_.dir/link.txt, um auf die Homebrew-dylib-Datei anstelle des Systems zu zeigen. Ich konnte dlib kompilieren und dann ohne einen segfault ausführen. Außerdem konnte ich die Objektdetektoren problemlos betreiben.

5

Anstelle der manuellen Dateibearbeitung können Sie -DPYTHON_LIBRARY:FILEPATH=/path/to/your/libpython2.7.dylib an cmake übergeben.

Was ./compile_dlib_python_module.bat tut, ist

mkdir build 
cd build 
cmake ../../tools/python 

Also, nur die Befehle von einer nach dem anderen laufen und statt

cmake ../../tools/python 

Lauf

cmake ../../tools/python -DPYTHON_LIBRARY:FILEPATH=/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib 
8

Nur ein Hinweis zu entnehmen, dass die Der einfachste Weg zu installieren ist jetzt zu verwenden:

sudo python setup.py install 
+2

seit Version 19 sollte dies die akzeptierte Antwort sein – wordsforthewise

0

für Python 3 Unterstützung Verwendung:

python setup.py install --yes DPYTHON3 
3

DLIB Installationsanweisungen für OSX (python3)

brew uninstall boost-python 
brew uninstall boost 
brew install boost-python --with-python3 --without-python 

Standard DLIB Installation

pip3 install dlib 

Im Anschluss an gibt einige Speedup installieren dlib mit aktivierten AVX-, SSE2-, SSE4-Anweisungen (Laden Sie den Quellcode von dlib.net herunter und führen Sie ihn im Verzeichnis aus).

python setup.py install --yes USE_AVX_INSTRUCTIONS --yes USE_SSE2_INSTRUCTIONS --yes USE_SSE4_INSTRUCTIONS 
0

Wenn Sie bereits dlib Quellcode von Github von cmake Befehl zusammengestellt. Dann möchten Sie Python-Programm ausführen, um dlib API aufzurufen.

Sie sollten DLIB Python API wie unten kompilieren,

sudo python setup.py install 

Oder

sudo python setup.py install --yes USE_AVX_INSTRUCTIONS 

, wenn Sie eine CPU haben, die AVX Anweisungen unterstützt, da dies einige Dinge macht schneller laufen. Beachten Sie, dass boost-python installiert sein muss, um die Python-API zu kompilieren. (Verbunden von dlib README.md)

Es funktioniert für mich.

0

Ich habe den gleichen Fehler mit Ihnen.

Als ich im Ordner "C:\Anaconda3\Lib\site-packages" sah, fand ich "dlib-19.8.0-py3.4-win-amd64.egg\", es bedeutet, dass ich DLIB erfolgreich kompiliert haben, aber es gibt keine "dlib\" Ordner unter dem "C:\Anaconda3\Lib\site-packages", es innerhalb "dlib-19.8.0-py3.4-win-amd64.egg\" Ordner vorhanden ist, so dass die Lösung ist einfach: Kopieren Sie einfach den "dlib\" Ordner zu Pfad "C:\Anaconda3\Lib\site-packages", der Python-Interpreter findet das Modul und importiert es erfolgreich.

Hoffe, es wird helfen!