Python3でcaffeをインストールしましたが、caffeをインポートすると、いくつかのエラーが返されます。
File "classify.py", line 14, in <module> import caffe File "/home/hez/caffe-master/python/caffe/__init__.py", line 1, in <module> from .pycaffe import Net, SGDSolver File "/home/hez/caffe-master/python/caffe/pycaffe.py", line 13, in <module> from ._caffe import Net, SGDSolver ImportError: dynamic module does not define module export function (PyInit__caffe)
しかし、それはpython2.7でうまく動作します。
/ path/to/caffe/distrubute/pythonをPATHに追加しましたが、pycaffeを作成すると、
make: Nothing to be done for `pycaffe'.
この問題を解決するにはどうすればよいですか?どうもありがとうございました。
更新
Caffeはpython 3.3+をサポートしています。インストールガイドと 前提条件 を確認してください。
元の(古い)回答
caffeをpython 3で使用することは現在サポートされていません:
CaffeのPythonインターフェースはPython 2.7で動作します。Python 3以前のPythonはあなた自身の冒険です。
caffeのインストールチュートリアル を参照してください。
Python3用のCaffeをビルドできるようになりました。質問があった12月16日にはそれが可能だったと思います。
これを行うには、Python3でMakefile.configのコメントを削除する必要があります。
# Uncomment to use Python 3 (default is Python 2)
# Check that boost library name is correct here!!!
PYTHON_LIBRARIES := boost_python3 python3.5m
PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include
しかし、したがって、あなたはpython3 OR python2でのみcaffeを使用します。これは、caffeのインストール方法(PYTHON_PATHを使用した場合、実際には良い方法ではありません)のためです。
これを回避するには、〜/ .bashrcで次のようなトリックを実行します。
alias python2="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py2/python && python2"
alias python3="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py3/python && python3"
alias python="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py2/python && python2"
したがって、どちらも機能します。
正しいpythonバージョンを使用していることを確認してください。
import platform
print(platform.python_version())
私はPython3で問題に遭遇し、Python2で問題なく動作しました。