网上的教程一大堆,但是能找到正确的安装方式却是少之又少。
我也是在网上找了好久,而且经过了多次试验才成功了一半。(这对于我说基本够用了)
首先我按照博客(深度学习之Windows下安装caffe及配置Python和matlab接口)https://blog.csdn.net/JasonZhangOO/article/details/54866120#commentBox
一步一步的进行,但是在重新生成libcaffe时,还是出现了八十多条错误,后面我再google查,把cuda的配置也改了。
修改cuda配置的步骤:https://wenku.baidu.com/view/ef375d8587c24028905fc377.html
完了之后,重启了一下电脑,确保系统变量生效。
再次打开Caffe.sln文件,对libcaffe重新生成解决方案,成功执行了。
虽然对整个项目执行时,出现了八十错误,大部分都是c2220:没有生成object文件的错误。
但是pycharm上已经可以导入caffe2了,也是成功了一半。(后来发现caffe与caffe2区别还是挺大的,所以还是需要安装caffe)
**
经历的错误总结:
**
在成功执行libcaffe后,还需要对caffe.cpp生成,(因为我安装的是anaconda3,python37),在对caffe编译时出现了python27.lib的错误,琢磨了好久,对anaconda3装上一个python27版本:在命令行上输入(conda -n python27 python=2.7 anaconda)参数python27是对下载的2.7版本文件命名。然后从下载好的文件里找到python27.lib.(一般在anaconda包里面——pkgs——python-2.7.13-1(刚下好的文件)——libs——python27.lib)然后将该lib文件复制,粘贴到anaconda——libs下。
重新生成caffe.cpp文件,原来出现的错误python27.lib已经修复。
没有生成object文件,这些错误只需要将对应的文件属性进行修改,对文件右键——属性——C/C++,将警告视为错误设置为(No)
再编译pycaffe又出现几个bug:
error LNK2019: 无法解析的外部符号 __imp___Py_NegativeRefcount,该符号在函数 "public:
。。。。。。
解决办法
全局搜索object.h和pyconfig.h
修改两个头文件
1 注释掉object.h第56行
//#define Py_TRACE_REFS
2 pyconfig.h 375行
//# define Py_DEBUG
error LNK2019: 无法解析的外部符号 “struct _object * __cdecl boost::python::detail::init_module(struct PyModuleDef &,void (__cdecl*)(void))” (?init_module@detail@python@boost@@YAPEAU_object@@AEAUPyModuleDef@@P6AXXZ@Z),该符号在函数 PyInit__caffe 中被引用
这是我执行了所有的caffe文件后pycaffe留下的错误(也是最后一个错误),查找了各种补丁修改,还是没有办法解决。
这个留下给大神去解决吧,先抱着美好的心态尝试测试,结果成功执行下面的工作。
测试
编译完Caffe文件后,生成的文件都已经存放在尝试一下在*…\caffe-master\Build\x64\Debug文件夹内(有些人的路径是…\caffe-master\Build\x64\Release*,这个应该问题不大)
测试文件夹里的caffe.exe
ctrl+R,打开命令行窗口,转到*…\caffe-master\Build\x64\Debug\caffe路径下,enter运行:
下一步,测试pycaffe
首先需要先将…\caffe-master\Build\x64\Debug\pycaffe*路径添加到PYTHONPATH环境变量中,(在系统变量上新建一个变量PYTHONPATH,将pycaffe路径添加上去)
然后再次在命令行上打开python窗口,输入import caffe,进行测试