web-dev-qa-db-ja.com

Python importでdlibを操作する方法(cmakeとosxを使用)

これが基本的なものであれば申し訳ありませんが、( http://blog.dlib.net/2014/04/dlib-187-released-make)で述べたように、pythonで使用するためにdlibをインストールしようとしています。 -your-own-object.html )「Pythonで独自のオブジェクト検出器を作成してください!」.

私はインストールファイルをダウンロードし、解凍して、インストール手順( http://dlib.net/compile.html )のようにcmakeを使用しました

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

うまく機能したようです

ただし、Pythonで「import dlib」と入力すると、ImportError:dlibという名前のモジュールはありません。

Pythonで物事を見つけて使用する方法を教えてください。

9
Tim 333

インストールする最も簡単な方法は今使用することであるという参考のためのメモです:

Sudo python setup.py install
8
liezlp

OSX(python3)のDlibインストール手順

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

デフォルトのdlibのインストール

pip3 install dlib

以下はいくつかのスピードアップを提供します AVX、SSE2、SSE4命令を有効にしてdlibをインストールします(dlib.netからソースコードをダウンロードし、ディレクトリ内から実行します)。

python setup.py install --yes USE_AVX_INSTRUCTIONS --yes USE_SSE2_INSTRUCTIONS --yes USE_SSE4_INSTRUCTIONS
5
Ankur Jain

手動でファイルを編集する代わりに、-DPYTHON_LIBRARY:FILEPATH=/path/to/your/libpython2.7.dylibからcmakeへ。

./compile_dlib_python_module.bat

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

したがって、コマンドを1つずつ実行する代わりに、

cmake ../../tools/python

走る

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

やっと動作しました!これについては後で詳しくブログに投稿しますが、今のところ要旨です。基本的に、cmakeの出力を手動で検査したとき、dlibはシステムバージョンPython notのPythonのHomebrewバージョン)に対してコンパイルおよびリンクしていました。

詳細に興味がある場合は、cmakeが/usr/lib/libpython2.7.dylibに対してコンパイルおよびリンクしようとしていたようです。ただし、これはPythonのシステムバージョンです。 Pythonの自作バージョンである/usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylibに対するリンクをコンパイルする必要があります。

システムファイルではなくHomebrew dylibファイルを指すようにCMakeFiles/dlib_.dir/build.makeおよび/CMakeFiles/dlib_.dir/link.txtを手動で編集しました。 dlibをコンパイルして、segfaultなしで実行することができました。さらに、オブジェクト検出器を問題なく実行できました。

4

Ubuntuでは、以下を実行する必要がありました。

Sudo apt-get install libboost-python-dev cmake

dlib-18.15/python_examplesに移動

次に:

./compile_dlib_python_module.bat 

次に、dlib.soをdist-packagesにコピーして、パスに含めます。

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

ドキュメントによると、CMakecompile_dlib_python_module.batの両方をインストールすると、boost-pythonはどのOSでも機能するようになります。

4

C++サンプルプログラムをコンパイルしています。 pythonの例はpython_examplesフォルダーにあります。また、各例の上部に、使用方法を説明しています。

1
Davis King

Condaを使用すれば、はるかに簡単です。

conda install -c menpo dlib

https://anaconda.org/menpo/dlib

1
mesutpiskin

Python 3サポート使用の場合:

python setup.py install --yes DPYTHON3
0
Bogdan

Cmakeコマンドでgithubからソースコード dlib を既にコンパイルしている場合。次に、pythonプログラムを実行して、dlib apiを呼び出します。

以下のようにdlib Python APIをコンパイルする必要があります。

Sudo python setup.py install

または

Sudo python setup.py install --yes USE_AVX_INSTRUCTIONS

aVX命令をサポートするCPUがある場合、これにより、いくつかの処理が高速になります。 Python APIをコンパイルするには、boost-pythonをインストールする必要があることに注意してください。(- dlib README.mdからリンク)

わたしにはできる。

0
Luna Kong

私はあなたと同じエラーに出会いました。

"C:\Anaconda3\Lib\site-packages"フォルダーを調べたところ、"dlib-19.8.0-py3.4-win-AMD64.Egg\"が見つかりました。これは、dlibが正常にコンパイルされたことを意味しますが、"dlib\"の下に"C:\Anaconda3\Lib\site-packages"フォルダーはなく、"dlib-19.8.0-py3.4-win-AMD64.Egg\"フォルダー内にあるため、ソリューションは単純です。"dlib\"フォルダーをパス"C:\Anaconda3\Lib\site-packages"にコピーするだけです。 、Pythonインタープリターがモジュールを見つけて正常にインポートします。

お役に立てれば幸いです。

enter image description here

0
Moon Zoe