我正在尝试编译并运行发布here的片段,这基本上是让我可视化网络内部(功能图)。
我已使用caffe
分支成功编译了pycaffe
和caffe-windows
,并且已将caffe文件夹复制到T:\Anaconda\Lib\site-packages
文件夹中。
然而,当我尝试在jupyter笔记本中运行这段代码时:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# Make sure that caffe is on the python path:
caffe_root = 'TC:/Caffe/' # this file is expected to be in {caffe_root}/examples
import sys
sys.path.insert(0, caffe_root + 'python')
import caffe
plt.rcParams['figure.figsize'] = (10, 10)
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'
import os
if not os.path.isfile(caffe_root + 'models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel'):
print("Downloading pre-trained CaffeNet model...")
!../scripts/download_model_binary.py ../models/bvlc_reference_caffenet
我收到以下错误:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-e7a8ec94e861> in <module>()
8 sys.path.insert(0, caffe_root + 'python')
9
---> 10 import caffe
L:\Anaconda2\lib\site-packages\caffe\__init__.py in <module>()
----> 1 from .pycaffe import Net, SGDSolver
2 from ._caffe import set_mode_cpu, set_mode_gpu, set_device, Layer, get_solver
3 from .proto.caffe_pb2 import TRAIN, TEST
4 from .classifier import Classifier
5 from .detector import Detector
L:\Anaconda2\lib\site-packages\caffe\pycaffe.py in <module>()
11 import numpy as np
12
---> 13 from ._caffe import Net, SGDSolver
14 import caffe.io
15
ImportError: DLL load failed: The specified module could not be found.
这里有什么不对?
注意:
我正在使用Anaconda2-2.4.1-Windows-x86_64.exe
答案 0 :(得分:1)
很可能是您没有看到的更具体的依赖问题(Protobuf / OpenCV)。首先尝试使用C++ API加载示例并确保所有DLL的加载。然后你可以更自信地将事情缩小到Python方面。我推荐基于您正在使用的分支的更新的Windows caffe说明:
我必须如上所述进行完整的重建(请注意,使用NuGet可以更容易地找到一些依赖项)。还要在整个上述博客的各种3rdParty.zip文件中寻找正确的protobuf二进制文件。
如果您对Caffe的快照版本没有问题,并且您不需要修改项目本身,则以下二进制文件 更容易安装并开始工作:
https://initialneil.wordpress.com/2015/07/15/caffe-vs2013-opencv-in-windows-tutorial-i/