Anaconda 安装的是python3.6版本的,装好caffe后,打开ipython,输入:
In [1]: import caffe
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-6e7bb19bc708> in <module>()
----> 1 import caffe
/usr/local/caffe/python/caffe/__init__.py in <module>()
----> 1 from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
2 from ._caffe import init_log, log, set_mode_cpu, set_mode_gpu, set_device, Layer, get_solver, layer_type_list, set_random_seed, solver_count, set_solver_count, solver_rank, set_solver_rank, set_multiprocess, has_nccl
3 from ._caffe import __version__
4 from .proto.caffe_pb2 import TRAIN, TEST
5 from .classifier import Classifier
/usr/local/caffe/python/caffe/pycaffe.py in <module>()
11 import numpy as np
12
---> 13 from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
14 RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
15 import caffe.io
ImportError: dynamic module does not define module export function (PyInit__caffe)
网上查找原因说是caffe对2.7支持较好,对3.6可能不兼容。将环境切换为2.7后,立马好了。
后来发现还有一种解决方案是,在安装caffe的时候,选择用python3作为interpreter,这样的话,直接
在python3下就能够正常运行了。
修改CMakefile中这行为:
set(python_version "3" CACHE STRING "Specify which Python version to use")